Advertisement
Guest User

Untitled

a guest
Jan 4th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Julia 1.48 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.  
  22. while true
  23.     msg = readline(c)
  24.     redirect_stdout(oo)
  25.     println(msg)
  26.  
  27.     if findfirst("PING", msg) == 1:4
  28.         r = split(msg)[2]
  29.         pong = "PONG $r\r\n"
  30.         write(c, pong)
  31.     elseif occursin(" PRIVMSG", msg)
  32.         who = match(r"^:(.*)!", msg)
  33.         cmd = match(r" :ยป(.*)", msg)
  34.         channel = match(r"^.*?PRIVMSG (#.*) ", msg)
  35.         if who != nothing && cmd != nothing && channel != nothing
  36.             who = who[1]
  37.             cmd = cmd[1]
  38.             println(cmd)
  39.             channel = channel[1]
  40.             try
  41.                 (or, ow) = redirect_stdout()
  42.                 output = eval(Meta.parse(cmd))
  43.                 if output != nothing
  44.                     data = output
  45.                 else
  46.                     ra = readavailable(or)
  47.                     data = strip(String(ra))
  48.                 end
  49.                 ret = "PRIVMSG $channel :$data\r\n"
  50.                 write(c, ret)
  51.             catch e
  52.                 ret = "PRIVMSG $channel :$e\r\n"
  53.                 write(c, ret)
  54.             end
  55.         end
  56.     end
  57. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement