Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import socket
- import structs/ArrayList
- import structs/HashMap
- IrcBot: class {
- sock := Socket new()
- buffer: String
- current := HashMap<String> new()
- channels := ArrayList<String> new()
- recv: func {
- buffer = sock io read(255)
- buffer println()
- }
- raw: func (str: String) {
- sock io write(str + "\r\n")
- }
- send: func ~two (one, two: String) {
- raw(one toUpper() + " :" + two toUpper())
- }
- send: func ~three (one, two, three: String) {
- raw(one toUpper() + " " + two toUpper() + " :" + three toUpper())
- }
- init_connection: func (server: String, port: Int, nick: String) {
- sock connect(server, port)
- raw("NICK " + nick)
- raw("USER " + nick + " 0 0 :" + nick + " - irc bot written in ooc")
- }
- init: func ~main (server: String, port: Int, nick: String) {
- init_connection(server, port, nick)
- }
- init: func ~chans (server: String, port: Int, nick: String, init_channels: ArrayList<String>) {
- init_connection(server, port, nick)
- for ( channel in init_channels ) {
- join(channel)
- }
- }
- join: func (chan: String) {
- //channels << chan
- raw("JOIN " + chan);
- }
- part: func ~nomsg (chan, message: String) {
- raw("PART " + chan + " :" + message);
- }
- part: func ~msg (chan: String) {
- part(chan, "Leaving")
- }
- /* privmsg: func ~recip (recip, channel, message: String) {
- send("privmsg", channel, message)
- }*/
- privmsg: func ~norecip (channel, message: String) {
- send("privmsg", current["channel"], message)
- }
- notice: func ~recip (recip, channel, message: String) {
- send("notice", channel, message)
- }
- /* notice: func ~norecip (channel, message: String) {
- send("notice", current["channel"], message)
- }*/
- }
Add Comment
Please, Sign In to add comment