Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Beta Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Irc post Notifier -With eggdrop Details »»
Irc post Notifier -With eggdrop
Version: 1.00, by dong dong is offline
Developer Last Online: Jul 2005 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 06-16-2002 Last Update: Never Installs: 38
Is in Beta Stage  
No support by the author.

Irc thread Notifier -With eggdrop [VB 2.2.x > 2.3.x]
https://vborg.vbsupport.ru/showthrea...threadid=39974
################################################## ###################
for installation on VB 3.x.x
the only things that are different are the placement of the code-adds
to /newthread.php and admin/index.php. the code-add of /newthread.php
itself stays the same. admin/ircaddon.php, /irc.php and the required
sql query also stays the same.
since i dont have vb3 i cant check. if anyone tell me where the
code should be in vb3, i will add it to this install text

--
1.0
this is an modification of dymo's Irc post Notifier without eggdrop,
dymo should get all credit, cos i didn't do that much modifications
to his hack. Also IRiDiuM deserves some credit for his tcl, thx dude
https://vborg.vbsupport.ru/showthrea...threadid=38205
--
2.0
removed reply announcement from irc.php and ircadmin.php ,irc.php has
simplyfied code, added chan choice to the admin
--
2.9
code adjustment to newthread.php rewritten. added multiple channel support
removed the ircaddon_install.php, everything is in this txt

################################################## ###################
What it does:
------------
When a new thread is posted by a user on your board a message will
be send to your eggdrop irc bot, and the bot echo's it to your
irc channel

*note: YOU NEED AN EGGDROP BOT CONNECTED TO AN IRC SERVER FOR THIS
u can get eggdrop here: http://www.egghelp.org/
or windrop here: http://windrop.sourceforge.net/

other ircbots that can run tcl scripts could also be usefull

################################################## ###################
When UPGRADING TO 2.0
---------------------
then you only have to overwrite/copy irc.php, ircadmin.php and
vbulletin.tcl to the right places. NO updates to newthread.php
newreply.php and admin/index.php are required

When UPGRADING TO 2.9
---------------------
then you have to overwrite/copy irc.php, ircadmin.php and
vbulletin.tcl to the right places. the old adjustment in
newthread.php must be replaced with the new one
also edit port number in vbulletin.tcl if you did that before
and you have to reconfigure all options in the ircadmin

################################################## ###################
place the files from the zip in:
--------------------------------
ircadmin.php -> vb admin dir
irc.php -> vb root dir
vbulletin.tcl -> eggdrop script dir

################################################## ###################
config your eggdrop:
--------------------
edit in vbulletin.tcl
if you want to use another portnumber then 1337, than edit that number

edit your eggdrop config file (eggdrop.conf):
add at the end:
source scripts/vbulletin.tcl

################################################## ###################
run required sql queries:
--------------------------
add a new table with phpmyadmin > run the queries in install.sql

################################################## ###################
php adjustments:
----------------
++++++++++++++++++
open /newthread.php
and find:
++++++++++++++++++

// redirect
if ($postpoll) {
$goto="poll.php?s=$session[sessionhash]&threadid=$threadid&polloptions=".intval($pollopti ons);
} elseif ($visible) {
$goto="showthread.php?s=$session[sessionhash]&threadid=$threadid";
} else {
$goto="forumdisplay.php?s=$session[sessionhash]&forumid=$forumid";
}

++++++++++++++++++
under that add:
++++++++++++++++++

// irc addon
$ircdata = $DB_site->query_first("SELECT * FROM ircaddon");
if($ircdata[ircthread] == "1") {
$Action = "new";
$fid = $ircdata[ircchan1forum];
$ircforum = preg_replace("/[[:space:]]+/", " ", $fid);
$ircforum = " ".$ircforum." ";
$forumtoirc = "/ ".$forumid." /";
if (preg_match($forumtoirc ,$ircforum)) {
$ircchan=$ircdata[ircchannel1];
require("irc.php");
}
$fid = $ircdata[ircchan2forum];
$ircforum = preg_replace("/[[:space:]]+/", " ", $fid);
$ircforum = " ".$ircforum." ";
$forumtoirc = "/ ".$forumid." /";
if (preg_match($forumtoirc ,$ircforum)) {
$ircchan=$ircdata[ircchannel2];
require("irc.php");
}
$fid = $ircdata[ircchan3forum];
$ircforum = preg_replace("/[[:space:]]+/", " ", $fid);
$ircforum = " ".$ircforum." ";
$forumtoirc = "/ ".$forumid." /";
if (preg_match($forumtoirc ,$ircforum)) {
$ircchan=$ircdata[ircchannel3];
require("irc.php");
}
}
//

++++++++++++++++++
open admin/index.php
and find:
++++++++++++++++++

makenavselect("User Groups","<hr>");

++++++++++++++++++
under that add:
++++++++++++++++++

//ircaddon
makenavoption("Modify/Enable/Disable IRC","ircadmin.php?action=settings");
makenavselect("IRC");

++++++++++++++++++
hacks done


################################################## ###################
configure the ircaddon:
-----------------------
go to the admin control panel and find "Modify/Enable/Disable IRC"
on the left.
configure all options
notes:
- IRC Forum ID`s
put all your forum id's that you want to have notified in irc here,
use only 1 space to seperate forumid numbers

- IRC Server Address
here you put the ip/hostname of your eggdrop bot

- IRC Server Port
here you put the port number which is set in the vbulletin.tcl script.
This is the port# the bot listens to for notifier messages. in this
case its 1337

################################################## ###################
now your done


################################################## ###################
the following problems could occure:
------------------------------------

Connection Refused
this error occures on 2 known occasions:

1# u have to make sure ur provider allows u to open a port
(in this case 1337, u could try another port, but don't forget to also
change it in the vbulletin.tcl)

2# make sure ur eggdrop has opened a port (1337) to listen for messages.

--
Connection Timeout
this error occures when your bot is offline, or the host of your vb board
cant reach the bots ip
--
slow displaying of the thread announcement is caused by the bot
requesting ident information from the vb boards host. currently i haven't
found any solution for this problem. adjusting the ident timeout setting
on the bot doesnt help, but ive noticed that an eggdrop is faster then a windrop.
if someone has more insight to this plz tell us
--
hint:
make sure a firewall is not blocking any communication
lasttime i helped someone install, it didnt work cos the idiot didnt
turned the firewall off on the bot box. after telling him for the 5th
time 'turn the fecking firewall off' it worked
so make sure nothing is blocking its communication, at the isp where your
vb is running or at the box where the bot is running
--

*504 views on previous attachment 1.0
*141 views on previous attachment 2.0

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #32  
Old 09-05-2002, 07:37 PM
Floris Floris is offline
 
Join Date: Jan 2002
Posts: 1,898
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It would be great if someone with .tcl and .php knowledge could clean up the files so that irc post thread stuff is removed and it wont timeout on the ident to the bot etc, which would save SO much time when posting new threads/posts.

Currently I only let it do threads, since they are made less.
new reply would be great, but ppl seriously complain a lot about the lag on the forum.
Reply With Quote
  #33  
Old 09-07-2002, 10:36 PM
Floris Floris is offline
 
Join Date: Jan 2002
Posts: 1,898
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just run into a bug.
When someone starts a poll, it will announce the thread (which is actually poll.php?something.. so the user could edit the post (bad vB!) or they get a msg that the poll can't be edited because i am not the owner of it. It SHOULD say the url to the thread, and not the poll :P
Reply With Quote
  #34  
Old 09-12-2002, 03:20 PM
moosey moosey is offline
 
Join Date: May 2002
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Works fine for me just one thing though it updates to the IRC Chan all most instantly but then it sits there for a minute or so b4 it post the actual message in the forum?

Great work btw :-)

Code:
<?
global $goto, $DB_site, $Action, $ircdata;

$fp = fsockopen ($ircdata[ircserver], $ircdata[ircport], $errno, $errstr, 30);
if (!$fp)
{
    echo "$errstr ($errno)<br>\n";
}
else
{
if($Action == 'new')
    {

        global $postusername, $subject, $forumid;
        $forumname = $DB_site->query_first("SELECT title FROM forum WHERE forumid=".$forumid);
        fputs($fp,"8,5 New thread in: \002" .$forumname[title]. ".\002 Poster: \002".$postusername.".\002 Subject: \002 ".$subject.".\002 LINK: \002 http://www.simplymaya.co.uk/forums/".$goto.". \002 \n\n");

        for($i=0;$i<30000;$i++)
        {
            $g=$i;
        }

    }
else

{
        global $postusername, $subject, $forumid, $threadinfo;
        $forumname = $DB_site->query_first("SELECT title FROM forum WHERE forumid=".$forumid);
        fputs($fp," 5,15New reply in: \002".$forumname[title]." \002 Subject: \002".$threadinfo[title].".\002 Thread starter: \002".$threadinfo[postusername]."\002, Replies:\002".($threadinfo[replycount] + 1).". \002 \n\n\n");

        for($i=0;$i<30000;$i++)
        {
            $g=$i;
        }

}


   fputs($fp, "QUIT :Message delivered\n");
    fclose ($fp);
}




?>
I modified the irc.php file works like a dream now thanks very much
Reply With Quote
  #35  
Old 01-10-2003, 08:45 AM
Floris Floris is offline
 
Join Date: Jan 2002
Posts: 1,898
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

No matter what I do, the private forum, with forumid XX keeps getting posted, while all the other forums that are not listed don't get posted.

Uhm,

forums to include: 1,2,3,4,5
private mod forums: 6,7,8

and it posts on irc: 1,2,3,4,5,8

So .. how to exclude that one that it shouldn't but still does?
Reply With Quote
  #36  
Old 01-12-2003, 02:04 AM
DPoole DPoole is offline
 
Join Date: Oct 2001
Location: UK
Posts: 105
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

can anyone help and to save myself a load of grief can you answer this quick question

i dont have eggdrop from shell so if i was to say run it from me comp (localhost) would that not make it work ? as at moment this is only way for me to get an eggdrop up and running.
Reply With Quote
  #37  
Old 01-19-2003, 02:45 PM
Mephisteus's Avatar
Mephisteus Mephisteus is offline
 
Join Date: Dec 2001
Location: The Netherlands
Posts: 288
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have an eggdrop installed and did the file edits, but I think I edited the wrong parts. Since there are multiple appearences of the lines you have to find. Could someone post their newreply & newthread part? I am listening on port 22, this is the port I connect to using SSH. I also get an tcl error when I connect. WHAT'S GOING WRONG!? PS. I'm new to eggdrop
Reply With Quote
  #38  
Old 01-23-2003, 04:47 AM
spaceb spaceb is offline
 
Join Date: Sep 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the hack it's really a great one but there's a ptoblem..
Either it's posting from all the forums , or either if i choose not to post all forums, it dosen't post at all..

I'm using an eggdrop and a vbb version 2.2.7.. maybe it dosen't work on this version or something ? :/
Reply With Quote
  #39  
Old 02-05-2003, 02:14 PM
Killer Killer is offline
 
Join Date: Nov 2001
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I installed the hack, too. Works fine. But one problem: Some of the buttons in admin CP seem to have no function or not the function they should have. Look at the end of my posting, there u can see what the bot does depending on what files are checked ind admin CP. I only want to turn off the notification on new replys!

I would be very thankful for hints to solve this problem.

Below u can see my edited files:

newreply.php:
Code:
// irc addon
	  $ircdata = $DB_site->query_first("SELECT * FROM ircaddon");
     		if($ircdata[ircthread] == "1") {
         		$Action = "reply";
				$fid = trim($ircdata[ircforum]);
				$ircforum=explode(" ", preg_replace("/[[:space:]]+/", " ", $fid) );
			    while (list($key,$val)=each($ircforum)) 
				{
	    			if ((strstr(" ".$forumid," ".trim($val))!="") || ($ircdata[ircforum] == 0))
					{
						require("irc.php");
					}
				}
			}
      //
newthread.php:
Code:
// Create a notice on irc channel
	  $ircdata = $DB_site->query_first("SELECT * FROM ircaddon");
     		if($ircdata[ircthread] == "1") {
         		$Action = "new";
				$fid = trim($ircdata[ircforum]);
				$ircforum=explode(" ", preg_replace("/[[:space:]]+/", " ", $fid) );
			    while (list($key,$val)=each($ircforum)) 
				{
	    			if ((strstr(" ".$forumid," ".trim($val))!="") || ($ircdata[ircforum] == 0))
					{
						require("irc.php");
					}
				}
			}
      //
irc.php:
Code:
<?
global $goto, $DB_site, $Action, $ircdata;

$fp = fsockopen ($ircdata[ircserver], $ircdata[ircport], $errno, $errstr, 30);
if (!$fp)
{
    echo "$errstr ($errno)<br>\n";
}
else
{

   if($Action == 'new')
    {
        global $postusername, $subject, $forumid;
        $forumname = $DB_site->query_first("SELECT title FROM forum WHERE forumid=".$forumid);
        if($ircdata[ircchannel1] != FALSE)
            fputs($fp,"\002[\00311,01X\00300,01]\002  New thread in: \002".$forumname[title]."\002     Poster: \002".$postusername."\002     Subject: \002".$subject."\002 \002[\00311,01X\00300,01]\002\n\n");
        for($i=0;$i<30000;$i++)
        {
            $g=$i;
        }
        if($ircdata[ircchannel2] != FALSE)
            fputs($fp, "PRIVMSG ".$ircdata[ircchannel2]." :New thread in ".$forumname[title].". Poster: ".$postusername.". Subject: ".$subject.". Link: http://yourdomain.com/".$goto."\n");
        for($i=0;$i<30000;$i++)
        {
            $g=$i;
        }
        if($ircdata[ircchannel3] != FALSE)
            fputs($fp, "PRIVMSG ".$ircdata[ircchannel3]." :New thread in ".$forumname[title].". Poster: ".$postusername.". Subject: ".$subject.". Link: http://yourdomain.com/".$goto."\n");
    }
    else if($Action == 'reply')
    {
        global $postusername, $subject, $forumid, $threadinfo;
        $forumname = $DB_site->query_first("SELECT title FROM forum WHERE forumid=".$forumid);
        if($ircdata[ircchannel1] != FALSE)
            fputs($fp, "\002[\00311,01X\00300,01]\002 New reply in: \002".$forumname[title]."\002     Subject: \002".$threadinfo[title]."\002     Thread starter: \002".$threadinfo[postusername]."\002     New poster: \002".$threadinfo[lastposter]."\002 \002[\00311,01X\00300,01]\002\n\n\n");
        for($i=0;$i<30000;$i++)
        {
            $g=$i;
        }
        if($ircdata[ircchannel2] != FALSE)
            fputs($fp, "PRIVMSG ".$ircdata[ircchannel2]." :There is a reply to a post in ".$forumname[title]." with the subject: ".$threadinfo[title].". Thread starter: ".$threadinfo[postusername].", New poster: ".$threadinfo[lastposter].". Link: http://yourdomain.com/".$goto."\n\n\n");
        for($i=0;$i<30000;$i++)
        {
            $g=$i;
        }
        if($ircdata[ircchannel3] != FALSE)
            fputs($fp, "PRIVMSG ".$ircdata[ircchannel3]." :There is a reply to a post in ".$forumname[title]." with the subject: ".$threadinfo[title].". Thread starter: ".$threadinfo[postusername].", New poster: ".$threadinfo[lastposter].". Link: http://yourdomain.com/".$goto."\n\n\n");
    }
    for($i=0;$i<30000;$i++)
    {
        $g=$i;
    }
    for($i=0;$i<23;$i++)
    {
        $info .= fgets ($fp,1280);
    }
    fputs($fp, "QUIT :Message delivered\n");
    fclose ($fp);
}




?>



What the bot does:

[x] = set to "on" in Admin CP
[ ] = set to "off" in Admin CP

1) Irc Post Notification Addon
2) Irc All New Threads Notification Addon
3) Irc All New Reply's Notification Addon


Case 1: 1) [ ] 2) [ ] 3) [x] ---> Bot does nothing
Case 2: 1) [ ] 2) [ ] 3) [ ] ---> Bot does nothing
Case 3: 1) [ ] 2) [x] 3) [ ] ---> Bot posts new threads and new replies
Case 4: 1) [x] 2) [ ] 3) [ ] ---> Bot does nothing
Case 5: 1) [ ] 2) [x] 3) [x] ---> Bot posts new threads and new replies
Case 6: 1) [x] 2) [x] 3) [ ] ---> Bot posts new threads and new replies
Case 7: 1) [x] 2) [ ] 3) [x] ---> Bot does nothing
Case 8: 1) [x] 2)[x] 3)[x] ---> Bot posts new threads and new replies

I am running vBB 2.2.6

Any hints to make the bot only post on new threads?
Reply With Quote
  #40  
Old 02-05-2003, 08:52 PM
Killer Killer is offline
 
Join Date: Nov 2001
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I found the buggy thing

Take newreply.php and search for:

Code:
if($ircdata[ircthread] == "1")
Replace ircthread with ircreply

The ON/OFF - Option for New Reply Notification should work now
Reply With Quote
  #41  
Old 02-24-2003, 11:13 PM
Nicarlo Nicarlo is offline
 
Join Date: Jan 2002
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

no matter what i do it never dispays the new thread although it does display the new reply's how can i fix this ?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 12:02 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05471 seconds
  • Memory Usage 2,335KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (5)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete