vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=246)
-   -   Chat Modifications - Currently Active IRC Users (https://vborg.vbsupport.ru/showthread.php?t=261318)

Saar 04-01-2011 10:00 PM

Currently Active IRC Users
 
1 Attachment(s)
I will work on a more user-friendly version of this article, I am not a programmer and this is actually my first modification, so there may still be some glitches. I originally wrote this modification, because I couldn't find any working hack for vBulletin 4 (which is the reason why I am writing these lines on vB.org), so I did some research and after two weeks I finally had a working active IRC nicklist on the forums. The main problem was to figure out, how to print the output of a text file on the forums and displaying it below "Currently Active Users" on FORUMHOME.

Those two articles were very helpful to me:
[1] http://www.vbulletin.com/forum/showt...P-or-HTML-File
[2] https://vborg.vbsupport.ru/showthread.php?t=242454

Okay, let's start...

This modification requires an Eggdrop running on your server, please install and configure it first, before proceeding. On a Debian (Lenny) server you do that with the following command:

Code:

$ aptitude install eggdrop
Create a directory where all modifications and config files are stored at with appropriate permissions

Code:

$ mkdir /home/eggdrop
$ adduser eggdrop
$ chown eggdrop:eggdrop /home/eggdrop
$ chmod 700 /home/eggdrop -r

Copy the eggdrop configuration file to that directory

Code:

$ cp /usr/share/doc/eggdrop-data/examples/eggdrop.conf.gz /home/eggdrop
$ cd /home/eggdrop
$ gunzip eggdrop.conf.gz

How to get a working eggdrop.conf, please visit http://eggwiki.org/Eggdrop.

Now let's implement the required modification to get the user list.

Code:

$ nano eggdrop.conf
Find:
Code:

# A few IRC networks (EFnet and Undernet) have added some simple checks to
# prevent drones from connecting to the IRC network. While these checks are
# fairly trivial, they will prevent your Eggdrop from automatically
# connecting. In an effort to work-around these, we have developed a couple of
# TCL scripts to automate the process.

Below that add
Code:

source /home/eggdrop/nickplus.tcl
Download the following modification from egghelp.org: NickPlus
[1] http://www.egghelp.org/tclhtml/3478-...1-nicklist.htm
and upload the nickplus.tcl to /home/eggdrop

Edit the nickplus.tcl to make the necessary changes, read the commented lines!

Code:

$ nano nickplus.tcl
Find:
Code:

# Change dumpfile to the path where you'd like the file to be written.
Below that add:
Code:

set dumpfile "/path/to/your/forum/nicklist.txt"
Now log on to your vBulletin Administrator Control Panel and add the following plugin (Hook Location: global_start):

Code:

ob_start();
  require_once('/path/to/your/forum/irc.php');
  $php_include = ob_get_contents();
ob_end_clean();
vB_Template::preRegister('FORUMHOME',array('php_include' => $php_include));

Create a irc.php in your forum home directory with the following contents:

Code:

$ touch /path/to/your/forum/irc.php
Code:

<html>

<head>

</head>

<body>
<?php
        $lines = file ('/path/to/your/forum/htdocs/nicklist.txt');
        $count = count($lines);
                if ($count == 1)
        {
        echo  "There is currently ".$count." user online. Network: irc.rizon.net, Port: 6667, Channel: #yourchannel";
        }
        else{
        echo  "There are currently ".$count." users online. Network: irc.rizon.net, Port 6667, Channel: #yourchannel";
        }
        echo "<br>";
?>
<font color="#417394">
<?php
        $fh = fopen("/path/to/your/forum/nicklist.txt", 'r');
        $pageText = fread($fh, 25000);
        echo $pageText;
?>
</font>
</body>

</html>

Create a nicklist.txt in your forum home directory with proper permissions:

Code:

$ touch /path/to/your/forum/nicklist.txt
$ chown eggdrop:eggdrop /path/to/your/forum/nicklist.txt
$ chmod 775 /path/to/your/forum/nicklist.txt

In your vBulletin Administrator Control Panel edit the FORUMHOME template:

Find:
Code:

            <!-- end logged-in users -->
            </vb:if>
            {vb:raw template_hook.forumhome_wgo_pos2}
            <vb:if condition="$show['upcomingevents']">
            <div id="wgo_events" class="wgo_subblock section">
                <h3 class="blocksubhead"><img src="{vb:stylevar imgdir_misc}/event.png" alt="{vb:rawphrase todays_events}" /><vb:if condition="$show['todaysevents']">{vb:rawphrase todays_events}<vb:else />{vb:rawphrase upcoming_events_for_the_next_x_days, {vb:raw vboptions.showevents}}</vb:if></h3>
                <ol>
                    {vb:raw upcomingevents}
                </ol>
            </div>
            </vb:if>
            {vb:raw template_hook.forumhome_wgo_pos3}
            <vb:if condition="$show['birthdays']">

Below that add:
Code:

            <!-- irc -->
            <div id="wgo_irc" class="wgo_subblock section">
                <h3 class="blocksubhead"><img src="{vb:stylevar imgdir_misc}/users_online.png" alt="Currently Active IRC Users" />Currently Active IRC Users</h3>
                <ol>{vb:raw php_include}</ol>
            </div>
            <!-- end irc -->

Now start your eggdrop:

Code:

$ aptitude install su
$ su eggdrop
$ cd ~
$ eggdrop -m ./eggdrop.conf

Now configure your bot, set password etc. (read the eggdrop help wiki!) and restart your bot.

Code:

$ eggdrop
Et voil?!

Any comments, feedback, suggestions? Wanna write a plugin for this or improve this modification? Go ahead, this is free for use.

Dragaon 04-05-2011 08:33 PM

Wow, you rock. Tagged and will try it out asap. Already have a network and eggie ready to go.

Saviour 04-12-2011 03:20 PM

can the eggdrop be running on someone else's server?

Saar 04-12-2011 07:24 PM

Quote:

Originally Posted by Saviour (Post 2183857)
can the eggdrop be running on someone else's server?

That's technically possible, yes. All ya need is a cron job, uploading the nicklist.txt to your web site's ftp (forum root!). But please keep in mind, that you would loose the real time functionality of your who's online list. Do the following on the server, where your eggdrop is configured at:

Code:

$ aptitude install ncftp
and install the following cron job

Code:

$ crontab -e
cron job (runs every five minutes):
Code:

*/5 * * * * ncftpget -u ftp_username -p ftp_password ftp_ip '/path/to/your/forum/' './nicklist.txt' &> /dev/null

lubbie 04-13-2011 03:31 PM

Tagged. Thanks a lot

Warnink 04-16-2011 12:25 PM

Thanks for this, I used to use THIS one as my eggdrop is hosted on a separate box from my site, I'm not sure what needs fixing since my move to vB4 but the admin side of it works with the irc info updating fine in there, it just gives a template error on the main site when enabled.
Anyway I'll give this one a shot, thx.

Saar 04-16-2011 07:36 PM

Quote:

Originally Posted by Warnink (Post 2185252)
Thanks for this, I used to use THIS one as my eggdrop is hosted on a separate box from my site, I'm not sure what needs fixing since my move to vB4 but the admin side of it works with the irc info updating fine in there, it just gives a template error on the main site when enabled.
Anyway I'll give this one a shot, thx.

Let me know whether it's working for you, the modification you were linking is for vb 3.5.4 only.

DevilNetwork 04-09-2012 07:44 AM

Working on 4.1.11.

@Warnick, the way to get it working on separate servers is to have the irc.php and the nicklicklist.txt and the eggdrop all on the 1 server so they can write/read each other, then
just change:
Quote:

ob_start();
require_once('/path/to/your/forum/irc.php');
$php_include = ob_get_contents();
ob_end_clean();
vB_Template:: preRegister('FORUMHOME',array('php_include' => $php_include));
to this:
Quote:

ob_start();
require_once('http://<domain/ip the eggdrop is hosted on>.com/irc.php');
$php_include = ob_get_contents();
ob_end_clean();
vB_Template:: preRegister('FORUMHOME',array('php_include' => $php_include));
Basically so the vBulletin only needs to read the remote PHP file. So you will need web
installed on the server the eggdrop is on so you can connect via http

GhostHunter2010 04-09-2012 08:33 AM

hi there i would love if u can install me this please i have no idea how i have already an eggdrop bot installed an runnin on my unrealircd server but i dont know how to install this if u can help me install it plz pm me ur msn then we can talk thankyou downloaed but not installed yet :(

HondaATC 04-09-2012 11:56 PM

Wow I rememebr a similar hack from the 3.7x days that rocked, it brought a ton of traffic to my IRC channel, and then after I upgraded to 4.x I could never get it to work again and the channel died off. Definitely gonna have save this for a day when I got some time and see if I can get it working again :)


All times are GMT. The time now is 11:14 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.02490 seconds
  • Memory Usage 1,762KB
  • 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
  • (20)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)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