first commit
[archive.git] / ASCHE_0 / ASCHE_BOT / ash_bot.py
blob77fc9c03677b89d24048f17015831e383ec82cef
1 import dcpp_client
2 import services
4 ###############################################
5 # START
6 ###############################################
7 print "###############################################"
8 print "# dcpp_client v0.0.1 #"
9 print "# (c) ASCHE 2008 #"
10 print "###############################################"
11 ###############################################
12 host = "avangard.no-ip.org"
13 port = 411
14 nick = "ASH_BOT"
15 owner = "ASCHE_0"
17 client = dcpp_client.DCPP_CLIENT((host, port), nick)
19 ###############################################
20 print "Connecting..."
22 if not client.connect():
23 print "Error"
24 exit()
25 print "Done"
26 print "###############################################"
28 ###############################################
29 room_list = []
31 run = 1
32 while run:
33 client.update_cache()
35 while 1:
36 data, user, msg = client.process_cache()
38 if not data:
39 break
40 else:
41 #exit
42 if (user == owner) and (msg == "q!"):
43 run = 0
44 break
46 #weather
47 if msg == "->weather":
48 client.send_to_user(user, services.GetWeather())
50 #quotes
51 elif msg == "->bash":
52 client.send_to_user(user, services.GetBashQuote())
53 elif msg == "->nyash":
54 client.send_to_user(user, services.GetNyashQuote())
55 elif msg == "->takto":
56 client.send_to_user(user, services.GetTaktoQuote())
58 #decode last
59 elif (msg == "->en") or (msg == "->ru"):
60 for room in room_list:
61 user_room, last_msg = room
62 if user_room == user:
63 client.send_to_user(user, services.Decode(last_msg, msg[2:]))
65 #decode
66 elif msg[:3] == "->e":
67 client.send_to_user(user, services.Decode(msg[4:], "en"))
68 elif msg[:3] == "->r":
69 client.send_to_user(user, services.Decode(msg[4:], "ru"))
71 #---------------------------------------------#
72 #last_msg
73 flag = 0
75 for i in range(len(room_list)):
76 user_room, last_msg = room_list[i]
77 if user_room == user:
78 room_list[i] = user, msg
79 flag = 1
80 break
82 if not flag:
83 new_room = user, msg
84 room_list.append(new_room)
86 ###############################################
87 print "###############################################"
88 print "Exiting..."
90 del client
92 print "Done"
93 print "###############################################"