vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Beta Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=5)
-   -   Users in IRC - with eggdrop. html access (https://vborg.vbsupport.ru/showthread.php?t=46305)

Sasq 12-01-2002 10:00 PM

Users in IRC - with eggdrop. html access
 
################################################## #########
Users in IRC - with eggdrop. html access
Tested on vB 2.2.5 and 2.2.9
Hack Verson: 2.0.2 Beta
################################################## #########


This hack is an enhanced version of the one by sas1911 - details of which can be found here
https://vborg.vbsupport.ru/showthrea...threadid=40855

This hack uses an eggdrop bot to provide information to vB about who is online.
NEW IN BETA 2
This hack now comes in two main flavours on the bot side.
1) writes the user list to a local file, vB then can access it local (if the bot is on the vB server)
or the file can be access remotely via http
2) This is the new bit, the bot now has the ability to contact the server directly via http (using the http tcl library)
- more on the vB side later - it updates when someone joins the channel, changes nick and after a set period of time

On the vB side the two main choices are...
1) simple display of user names with the ability to hide certain users, ie the bot. also allows a '_' or whatever at the
end of a nick to show the user is offline
2) Accesses the user DB to try to match the user 1st by bot handle, then nick, user name (host) and link them the same way
as online forum users. it will also hide users if their forum invisible setting is turned on.
it provides the same overides as the first script as well as additional flags of [me] (overide the db lookup) and
[on](override the invisible flag)

The callhome script needs an access code that you set in both the bot and the script as well as the ip range for the bot.
if the access code and the ip range don't the script will give the user a 404 error - see instructions

The script for index.php has the two subsets for either a local file or remote file.
each different flavor for the index file i have placed in seperate files, so please read that file for install instructions


All files are included as well as the old ver 1 of this hack.

Known bugs:
None at the moment

Known quirks:
With using the db, online users number may display higher then the list of users displayed, but vB works the same way,
if this really bugs people I'll tweak it.
Sometimes the the script just doesn't get the user right - again db lookup, my solve for this is regular users I add to the bot, if there is enough interest I'll do a user cp hack or something
to either get vB to contact the bot and add the user, (and handle to the bot) or hack a way around so that the user can register
their nick and/or user name (host) into the db

TODO:
anything anyone suggests thats reasonable

Fixed Bugs:
Resolved the Excess db queries, now its only 1 query 2.0.1
Fixed a bug where it would hang if the server went offline or refused to answer, now set at a 7 second time out.
Fixed a small glitch where the script showed a warning if the file was unreachable.
- refixed this glitch should all be working now. 1.1.2
Multiple instances of the timer bug resolved. 1.1.1


Added functions:
See above for main changes to ver 2
Now strips all php and html tags from the file - just to be on the safe side.
Added commas after names

Modified files
2.0.2 index.php only
2.0.1 Both db access scripts have been updated
2.0.0 All files need to be updated
1.2.0 index.php only
1.1.2 index.php only
1.1.1 index.php only
1.1 usc.tcl only

You can see this hack in action at MURC
Thanks for you time, any questions/ideas/sugestions please don't hesitate to contact me via pm or email (email is in the file).

Dan

FASherman 12-03-2002 11:26 AM

I'd make several changes.

First, either install of have your host install Mytcl.

Next, create a table to hold the IRC info. Instead of writing to a file, write to the database directly.

Now, mod your bot to do database updates on connect, joins, parts, kicks, bans, quits and via a 10 minute timer. All of those except the latter makes your bot update the table in real-time and it need do it only for the channel where activity occurs, reducing your overall bot activity as well as your database activity.

All information is in real-time. The 10 minute timer takes care of undetectable events like server splits and the such.

Sasq 12-03-2002 11:38 AM

At the moment for this installation, the bot is on a different server. Hence the need for http or in the case of the other hack ftp access. So at least for the moment direct DB access is out.

The reason for the x second timer to write the file is the bot doesn't accuretly dump the online list after a part (it keeps the data so you can check to see for wallops etc).

But I will look into direct db access for a later revision of the hack for on server bots.

Thanks for the feedback

Dan

Sasq 12-03-2002 01:18 PM

Update, bug in the tcl script has been resolved.

FASherman 12-03-2002 03:30 PM

Quote:

Originally posted by Sasq
At the moment for this installation, the bot is on a different server. Hence the need for http or in the case of the other hack ftp access. So at least for the moment direct DB access is out.
You need not be on the same server as your database to access it. Thats what the listener and the hostname in the connect string is for.

Quote:

Originally posted by Sasq
The reason for the x second timer to write the file is the bot doesn't accuretly dump the online list after a part (it keeps the data so you can check to see for wallops etc)..
All you need to do is drop the nick that PARTed from the $online list.

Sasq 12-03-2002 11:32 PM

Quote:

Originally posted by FASherman


You need not be on the same server as your database to access it. Thats what the listener and the hostname in the connect string is for.


Sorry I replied while tired, as far as I know, our host (forum) only allows localhost connects to the DB, and personally for security I prefer it that way as well. - yes i am aware of locking down the ip ranges etc for logins but i'm trying to keep this hack simple.

Quote:


All you need to do is drop the nick that PARTed from the $online list.


Maybe be doable, have to look at how the bot responds. But up to the second reporting of who's online in irc (at least for us is not that needed)

But you have given me an idea... might get the bot to ftp the new list to the server... anyway I'll have a look on the weekend

Dan

|DarkManX| 12-04-2002 02:36 AM

got a screenshot of this?

Sasq 12-04-2002 11:07 AM

Ask, and ye shall receive :)

Also you can see it in action at MURC

Dan

PBC 12-08-2002 01:11 PM

I have TCL installed, but keep getting errors when I run this script...

Sasq 12-08-2002 01:23 PM

What does the error say?

Dan


All times are GMT. The time now is 03:22 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01641 seconds
  • Memory Usage 1,749KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete