Advertisement
Guest User

Untitled

a guest
Jan 4th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Julia 1.54 KB | None | 0 0
  1. import Sockets.connect
  2.  
  3. server = "chat.freenode.net"
  4. port = 6667
  5.  
  6. c = connect(server, port)
  7. write(c, "USER julia|bot julialang|bot julialang|bot :This is a fun bot!\r\n")
  8. write(c, "NICK julia|bot\r\n")
  9. write(c, "PRIVMSG nickserv :iNOOPE\r\n")
  10. #write(c, "PRIVMSG nickserv :identify blabla\r\n")
  11.  
  12. sleep(5)
  13.  
  14. channels = ["#gentoo-weed"]
  15.  
  16. for chan in channels
  17.     write(c, "JOIN $chan\r\n")
  18. end
  19.  
  20. oo = stdout
  21. PREF = "|"
  22.  
  23. while true
  24.     msg = readline(c)
  25.     redirect_stdout(oo)
  26.     println(msg)
  27.  
  28.     if findfirst("PING", msg) == 1:4
  29.         r = split(msg)[2]
  30.         pong = "PONG $r\r\n"
  31.         write(c, pong)
  32.     elseif occursin(" PRIVMSG", msg)
  33.         who = match(r"^:(.*)!", msg)
  34.         rcmd = Regex(string(" :\\",PREF,"(.*)"))
  35.         cmd = match(rcmd, msg)
  36.         channel = match(r"^.*?PRIVMSG (#.*) ", msg)
  37.         if who != nothing && cmd != nothing && channel != nothing
  38.             who = who[1]
  39.             cmd = cmd[1]
  40.             println(cmd)
  41.             channel = channel[1]
  42.             try
  43.                 (or, ow) = redirect_stdout()
  44.                 output = eval(Meta.parse(cmd))
  45.                 if output != nothing
  46.                     data = output
  47.                 else
  48.                     ra = readavailable(or)
  49.                     data = strip(String(ra))
  50.                 end
  51.                 ret = "PRIVMSG $channel :$data\r\n"
  52.                 write(c, ret)
  53.             catch e
  54.                 ret = "PRIVMSG $channel :$e\r\n"
  55.                 write(c, ret)
  56.             end
  57.         end
  58.     end
  59. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement