McGod Posted July 5, 2007 Posted July 5, 2007 (edited) This is an highly modular IRC bot, it uses a plugin system so that you can easily add/remove features from the bot. Features: -Modular Plugin system -Uses SQLite -Comes with an auth system -Automatically joins channels on connection Plugin System The plugin system uses a trigger system utlizing Call to allow a modular system. For Example: A message comes in from a channel. The bot will loop through an array ($Plugin) which will have all the plugin's info (Name, ver, Desc, Prefix) it will take the prefix's and call Prefix_OnMsg with the info like user, channel, msg etc.. A template plugin: expandcollapse popup_TempPlugin() Func _TempPlugin() If IsDeclared("Plugin") = 0 Then Exit Local $i = UBound($Plugin) ReDim $Plugin[$i][4] $Plugin[$i - 1][0] = "Temp";Name of your plugin $Plugin[$i - 1][1] = "v1.0";Current version $Plugin[$i - 1][2] = "A plugin template";Description of plugin $Plugin[$i - 1][3] = "Temp";Plugin prefix (Temp_onload) etc.. EndFunc ;==>_TempPlugin ;=================================================== ;Function Name: Temp_onload () ;Use: Fires on bot startup. ;Variables: None ;=================================================== Func Temp_onload(); EndFunc ;==>Temp_onload ;=================================================== ;Function Name: Temp_OnMsg ($user, $chan, $msg) ;Use: Fires on a channel or private message ;Variables: $user - Username of the person who said the message ; $chan - Channel or username of where the message was said ; $msg - Message that was said ;=================================================== Func Temp_OnMsg($user, $chan, $msg); EndFunc ;==>Temp_OnMsg ;=================================================== ;Function Name: Temp_OnJoin($user, $chan) ;Use: Fires when you or someone joins a channel ;Variables: $user - User who has joined such channel ; $chan - The channel which the bot/user has joined ;=================================================== Func Temp_OnJoin($user, $chan); EndFunc ;==>Temp_OnJoin ;=================================================== ;Function Name: Temp_OnPart($user, $chan) ;Use: Fires when someone leaves the channel ;Variables: $user - User who has left the channel ; $chan - The channel which the user has left ;=================================================== Func Temp_OnPart($user, $chan); EndFunc ;==>Temp_OnPart ;=================================================== ;Function Name: Temp_OnQuit($user, $reason) ;Use: Firess when someone has quit from the server. ;Variables: $user - User who has left the server ; $reason - Reason why user has left ;=================================================== Func Temp_OnQuit($user, $reason); EndFunc ;==>Temp_OnQuit ;=================================================== ;Function Name: Temp_OnMode($chan, $user, $mode) ;Use: Fires when a user/channel mode has occured. ;Variables: $chan - Channel/User where the mode has occured ; $user - User that executed the mode ; $mode - The mode the user has executed ;=================================================== Func Temp_OnMode($chan, $user, $mode); EndFunc ;==>Temp_OnMode ;=================================================== ;Function Name: Temp_OnKick($chan, $kicker, $user, $reason) ;Use: Fires when someone gets kicked from a channel. ;Variables: $chan - Channel were the user was kicked ; $kicker - User who kicked the person ; $user - User who was kicked ; $reason - Why the user was kicked ;=================================================== Func Temp_OnKick($chan, $kicker, $user, $reason) EndFunc ;==>Temp_OnKick ;=================================================== ;Function Name: Temp_OnNick($user, $newnick) ;Use: Fires when a user has changed their nick ;Variables: $user - User who had changed their nick ; $newnick - Users new nick name ;=================================================== Func Temp_OnNick($user, $newnick); EndFunc ;==>Temp_OnNick ;=================================================== ;Function Name: Temp_OnTopic($user, $chan, $topic) ;Use: Fires when the topic in a channel is changed. ;Variables: $user - User who changed the topic ; $chan - The channel were the topic was changed ; $topic - The new topic in the channel ;=================================================== Func Temp_OnTopic($user, $chan, $topic); EndFunc ;==>Temp_OnTopic ;=================================================== ;Function Name: Temp_OnInvite($inviter, $user, $chan) ;Use: Fires when the bot/user is invited into a channel ;Variables: $inviter - User who invited the user into the channel ; $user - The user who was invited ; $chan - The channel the user was invited to ;=================================================== Func Temp_OnInvite($inviter, $user, $chan); EndFunc ;==>Temp_OnInvite ;=================================================== ;Function Name: Temp_OnConnect($host, $port) ;Use: Fires on connection to server ;Variables: $host - The host name where the bot connected. ; $port - The port of the where the bot connected. ;=================================================== Func Temp_OnConnect($host, $port); EndFunc ;==>Temp_OnConnect ;=================================================== ;Function Name: Temp_OnPing($ping) ;Use: Fires on Ping recieved ;Variables: $ping - The message that you need to send back. ;=================================================== Func Temp_OnPing($ping); EndFunc ;==>Temp_OnPing ;=================================================== ;MISC INTERNAL FUNCTIONS ;=================================================== ;=================================================== ;Function Name: ChanSend($chan, $msg) ;Use: To send a message to a channel ;Variables: $chan - The channel/user you want to send a message to ; $msg - The message you want to send ;~~MISC NOTES~~ ; - Bold variable ; - Underline variable ; - Color variable use it with a number from 1-15 to change color of text. ;0 white 8 yellow ; 1 black 9 lightgreen ; 2 blue 10 cyan ; 3 green 11 lightcyan ; 4 lightred 12 lightblue ; 5 brown 13 pink ; 6 purple 14 grey ; 7 orange 15 lightgrey ;=================================================== ;=================================================== ;Function Name: JoinChannel($chan) ;Use: To join a channel ;Variables: $chan - The Channel you want to join ;=================================================== ;=================================================== ;Function Name: _Query($sSQL) ;Use: To return the first return of a sqlite query. ;Variables: $sSQL - The query you wish to use ;=================================================== ;=================================================== ;Function Name: _SQLExec($sSQL) ;Use: Executes a SQLite database command. ;Variables: $sSQL - The command you wish to send. ;=================================================== ;=================================================== ;Function Name: _Log($msg) ;Use: To add to the log file ;Variables: $msg - The message you want to add to the log. ;=================================================== Download Download v1.0 Plugins Register.au3 - v1.0 - Allows you to give access, login etc. - Auth_ Download - Comes with v1.0 Edited July 5, 2007 by Chip [indent][center][u]Formerly Chip[/u][/center]~UDFs~[/indent][u]IRC.au3 - Allows you to connect to IRC ServersINetCon.au3 - Connects/Disconnects/Check Status of InternetHardware Key - Creates a unique hardware hashScriptComm - Allows you to communicate between scripts using WM_COPYDATA[/u][indent]~Programs~[/indent][indent]SimonAu3ForumsIRC Bot~Web Site~Web Autoit Example[/indent][indent][b][/b][/indent][u][/u]
Mast3rpyr0 Posted July 6, 2007 Posted July 6, 2007 Error line 244 My UDF's : _INetUpdateCheck() My Programs : GameLauncher vAlpha, InfoCrypt, WindowDesigner, ScreenCap, DailyRemindersPick3GeneratorBackupUtility! Other : Bored? Click Here!
James Posted July 6, 2007 Posted July 6, 2007 Its a UDF, you need to create the GUI yourself. Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ
BullGates Posted July 8, 2007 Posted July 8, 2007 Hello, the download link is unavailable, can you provide another download location? Thanks. [topic="51913"]Restrict USB Storage usage to group membership[/topic] * [topic="48699"]Using nircmd library[/topic] * Some admin notes
BullGates Posted July 21, 2007 Posted July 21, 2007 I could now download it, thanks for such a nice script. [topic="51913"]Restrict USB Storage usage to group membership[/topic] * [topic="48699"]Using nircmd library[/topic] * Some admin notes
Skizmata Posted July 23, 2007 Posted July 23, 2007 @Jaenster I would love to try out your bot I am trying to learn about TCPSend and this looks like a great example. Unfortunately your script as been stricken by a bug in these forums and I'm too much of a noob to fix it myself. Would it be possible for you to give me a download link to dump it to one of those code clipboard sites (which i cant remember the name of any of them). Thanks! I look forward to your response. AutoIt changed my life.
Delta Posted August 6, 2007 Posted August 6, 2007 I really hate bumping old topics but does anyone have another download location for this? [size="1"]Please stop confusing "how to" with "how do"[/size]
DeFirence Posted January 8, 2008 Posted January 8, 2008 I myself have made a few IRC bots and other bots in AutoIt and would be interested to look at this bots code and maybe get some nice ideas. If anyone could reupload or provide a link for this it would be really great. DeFirence
Apzo Posted January 8, 2008 Posted January 8, 2008 (edited) Here is the file, I've downloaded it a while ago :http://dilatt.free.fr/au3/IRC%20Bot.zipI think it won't work with the lattest au3 version : this one requires sqlite3.dll for example.I don't have the time to rewrite it, if someone is interested....Have fun and let us know about any improvement [EDIT]OK, the sqlite3.dll is easy to remove, just put comments before the dll load lines.Some global vars has been defined inside a func, move them on top and that's OK.The PluginOpen() func has been removed so the md5 funcs are not working.If someone know another MD5HASH func, let us know ![/EDIT] Apzo. Edited January 8, 2008 by Apzo All the pop3 functions.Rsync your files on your USB key (or anywhere else)
DeFirence Posted January 8, 2008 Posted January 8, 2008 Apzo said: Here is the file, I've downloaded it a while ago : http://dilatt.free.fr/au3/IRC%20Bot.zip I think it won't work with the lattest au3 version : this one requires sqlite3.dll for example. I don't have the time to rewrite it, if someone is interested.... Have fun and let us know about any improvement [EDIT] OK, the sqlite3.dll is easy to remove, just put comments before the dll load lines. Some global vars has been defined inside a func, move them on top and that's OK. The PluginOpen() func has been removed so the md5 funcs are not working. If someone know another MD5HASH func, let us know ! [/EDIT] Apzo. That link is dead too
Apzo Posted January 8, 2008 Posted January 8, 2008 I just used it, it works...Try http://dilatt.free.fr/au3/ you will see the directory content... Apzo. DeFirence said: That link is dead too All the pop3 functions.Rsync your files on your USB key (or anywhere else)
NeoFoX Posted February 13, 2008 Posted February 13, 2008 Well.. I wanted to test this one.. But mine isn't working (not on Vista or XP).. I think it has something to do with the SQL, because in the log file i'm getting this. 2008-02-13 16:11:24 : SQLite Exec->Ret Value: 0->Error Msg: not an error->Query : DELETE FROM IRC_ChanSession 2008-02-13 16:11:24 : SQLite Exec->Ret Value: 0->Error Msg: not an error->Query : DELETE FROM IRC_UserSession 2008-02-13 16:11:24 : SQLite Exec->Ret Value: 0->Error Msg: not an error->Query : UPDATE IRC_Users SET login = '0' And ff I remove all the functions which has something of a query in it... than it works. Do you know what the problem is? I'm trying to create an IRC bot myself (off course via AutoIT) [center][font="Arial"]--- The Neo and Only --- [/font][font="Arial"]--Projects---[/font]Image to Text converterText to ASCII converter[/center]
10031992 Posted June 25, 2009 Posted June 25, 2009 link Register.au3 Expired ERROR Upload Please -------------------------------------------------------------------------------------------------------------------------------------------- [center][/center][center]Autoit Support Forum in Portuguese | AutoitBrasil.com[/center] [sub]My Script :[/sub]Simples Login for Program
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now