Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tabornok.rb
- #!/usr/bin/env ruby
- require_relative "tabornok/irc"
- require_relative "tabornok/logger"
- require_relative "tabornok/console"
- require_relative "tabornok/pinger"
- require "thread"
- class Tabornok
- def initialize
- @logger = Logger.new
- @logger.message "Tabornok IRC Bot and Framework"
- @logger.message "Copyright (C) 2012 Jackneill"
- @logger.message "This program comes with ABSOLUTELY NO WARRANTY; for details type see <http://www.gnu.org/licenses/>."
- @logger.message "This is free software, and you are welcome to redistribute it"
- @logger.message "under certain conditions; for details type see <http://www.gnu.org/licenses/>."
- irc = Irc.new
- irc.connect "irc.rizon.net", 6667
- irc.auth "Tabornok"
- irc.joinchan "#hun_bot"
- irc.joinchan "#Tabornok"
- begin
- #Thread.abort_on_exception = true
- thread_read_irc = Thread.new { irc.read_irc }
- thread_pinger = Thread.new { Pinger.new.pinger }
- thread_read_console = Thread.new { Console.new.read_console }
- Thread.current.join
- rescue Exception => e
- @logger.fatal
- "Error in #{__method__}: #{$!}\nException Error:\n" +
- e.to_s
- end
- end
- end
- tabornok = Tabornok.new
- sender.rb
- #!/usr/bin/env ruby
- require_relative "logger"
- require_relative "irc"
- class Sender
- def initialize
- @logger = Logger.new
- @tcpsocket = Irc.new
- end
- def sendServiceMsg msg
- @logger.send_service msg
- #@tcpsocket.puts msg
- end
- def sendIrcMsg chan, *msg
- @logger.send_service msg
- @tcpsocket.puts "PRIVMSG #{chan} :#{msg}"
- end
- end
- irc.rb
- #!/usr/bin/env ruby
- require "socket"
- require "thread"
- require_relative "parser"
- require_relative "logger"
- require_relative "sender"
- class Irc
- def initialize
- @logger = Logger.new
- @sender = Sender.new
- end
- def connect server, port
- @server = server
- @tcpsocket = TCPSocket.open server, port
- end
- def read_irc
- parser = Parser.new
- until @tcpsocket.eof? do
- parser.parse @tcpsocket.gets.chomp
- end
- end
- def auth nick
- @sender.sendServiceMsg "NICK #{nick}"
- @sender.sendServiceMsg "USER #{nick} 0 * #{nick}"
- end
- def joinchan chan, pass = nil
- if chan[0] != "#"
- chan.insert(0, '#')
- end
- @sender.sendServiceMsg "JOIN #{chan}"
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement