The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Irc post Notifier -With eggdrop Details »» | |||||||||||||||||||||||||
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
|
Comments |
#32
|
|||
|
|||
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. |
#33
|
|||
|
|||
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 |
#34
|
|||
|
|||
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); } ?> |
#35
|
|||
|
|||
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? |
#36
|
|||
|
|||
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. |
#37
|
||||
|
||||
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
|
#38
|
|||
|
|||
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 ? :/ |
#39
|
|||
|
|||
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"); } } } // 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"); } } } // 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? |
#40
|
|||
|
|||
I found the buggy thing
Take newreply.php and search for: Code:
if($ircdata[ircthread] == "1") The ON/OFF - Option for New Reply Notification should work now |
#41
|
|||
|
|||
no matter what i do it never dispays the new thread although it does display the new reply's how can i fix this ?
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|