View difference between Paste ID: hL1EYAwq and qGwhbJEk
SHOW: | | - or go back to the newest paste.
1
chanQueue = [] ; channels = []
2
users = {  
3
       "Aha2Y!DutchFag": "admin"
4
}
5
6
7
s = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
8
s.connect ( ( host, port) )
9
s.send ( 'NICK %s\r\n' % botnick)
10
s.send ( 'USER znc bot znc :znc\r\n')
11
12
13
while True:
14
   data = s.recv ( 4096 )
15
   raw = data.split() 
16
   print data
17
   nick = data.split('!')[0][1:] 
18
   sender = data.split('@')[0][1:] 
19
   if data.find ( 'PING' ) != -1:
20
      s.send ( 'PONG ' + data.split() [ 1 ] + '\r\n' )
21
   if data.find ( 'You need to send your password. Try /quote PASS <username>:<password>' ) != -1:
22
      s.send ('PASS %s \r\n' % zncauth)
23
   if data.split()[1] == 'JOIN':  
24
      channels.append(data.split()[2][:1])
25
   if data.find ( '!uptime' ) != -1:
26
      chanQueue.append(data.split()[2])
27
      s.send('PRIVMSG *STATUS :uptime\r\n')
28
   if data.find ( 'status!znc@znc.in PRIVMSG %s :Running for' %  botnick) != -1:
29
      channel = chanQueue[0]; del chanQueue[0]
30
      days = raw[5].lstrip('d')
31
      hours = raw[6]
32
      minuts = raw[7]
33
      seconds = raw[8]
34
      s.send('PRIVMSG %s :The bouncer is up for %s %s %s %s!\r\n' % (channel, days, hours, minuts, seconds))
35
   if data.find ( '!global' ) != -1:
36
      try:
37
         if users[str(sender)]:
38
            if len(raw) != 4: 
39
               chanQueue.append(data.split()[2])
40
               globalmessage = raw[4:]
41
               message = ' '.join(globalmessage)
42
               s.send('PRIVMSG *status :broadcast [Global] %s\r\n' % message)
43
      except KeyError: 
44
         s.send('notice %s :You are not a admin.\r\n' % nick)
45
   if data.find ( '!rehash' ) != -1:
46
      try:
47
         if users[str(sender)]:
48
            if len(raw) == 4: 
49
               s.send('PRIVMSG *STATUS :rehash\r\n')
50
               s.send('PRIVMSG %s :Rehashed the bouncer.\r\n' % raw[2])
51
      except KeyError: 
52
         s.send('notice %s :You are not a admin.\r\n' % nick)
53
   if data.find ( '!help' ) != -1:
54
            if len(raw) == 4: 
55
               s.send('PRIVMSG %s :Available public commands: !uptime\n' % raw[2])
56
               s.send('PRIVMSG %s :Available admin commands: !global, !rehash\n' % raw[2])
57
   if data.find ( '!test' ) != -1:
58
            if len(raw) == 4: 
59
               s.send('PRIVMSG %s :%s\n' % (channel, sender))
60
   if data.find ( ':*** [Global]' ) != -1:
61
               globalmessage = raw[4:]
62
               channel = chanQueue[0]; del chanQueue[0]
63
               message = ' '.join(globalmessage)
64
               s.send('PRIVMSG %s :%s\r\n' % (channels, message))