1
0

on_join.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from common import log, queries, font
  2. def process_event(self, connection, event):
  3. log.info(event) # Log to console.
  4. # Get and update resources.
  5. channel = queries.create_or_get_and_update_last_event(self, 'channel', 'cj', channel_name=event.target, user_name=event.source.nick)
  6. user = queries.create_or_get_and_update_last_event(self, 'user', 'cj', channel_name=event.target, user_name=event.source.nick)
  7. queries.increment_join(self, channel.id, user.id)
  8. owners = queries.get_owners(self)
  9. if event.source in owners:
  10. connection.mode(channel, "+aohv %s %s %s %s" % event.source.nick, event.source.nick, event.source.nick, event.source.nick)
  11. curse = queries.random_curse(self)
  12. if curse:
  13. connection.privmsg(channel, 'Welcome back %s%s%s, you %s.' % (font.red, event.source, font.reset, curse))
  14. # if event.source.nick == connection.get_nickname(): # The bot joined a channel.
  15. # connection.who(self.homechannel) # Get whoreplies for users of homechannel.
  16. # if self.channels[event.target].has_key():
  17. # if event.target in self.channelkeys: # New key used to join channel.
  18. # self.db.run("UPDATE channels SET key='" + self.channelkeys[event.target] + "' WHERE name='" + event.target + "' AND network='" + self.network + "'") # Save new key to DB.
  19. # del self.channelkeys[event.target] # Delete entry.
  20. # if event.target == self.homechannel: # Home channel.
  21. # connection.who(connection.get_nickname()) # get whoreply to add bot to protectees.
  22. # return # Do not greet myself.
  23. # # Promote owners.
  24. # if event.source.nick in self.channels[self.network.home_channel].owners():
  25. # connection.mode(event.target, '+vhoa %s %s %s %s' % (event.source.nick, event.source.nick, event.source.nick, event.source.nick))
  26. # # Stop if greeting is not wanted.
  27. # joingreeting = self.db.one("SELECT join_greeting FROM channels WHERE name='" + event.target + "' AND network='" + self.network + "'")
  28. # stopgreet = self.db.one("SELECT stopgreet FROM joins WHERE channel='" + event.target + "' AND channel_network='" + self.network + "' AND \"user\"='" + event.source.nick + "' AND user_network='" + self.network + "'")
  29. # if not joingreeting or stopgreet:
  30. # return
  31. # # Show greeting.
  32. # joins = self.db.one("SELECT joins FROM joins WHERE channel='" + event.target + "' AND channel_network='" + self.network + "' AND \"user\"='" + event.source.nick + "' AND user_network='" + self.network + "'")
  33. # if not self.db.one("SELECT join_greeting FROM channels WHERE name='" + event.target + "' AND network ='" + self.network + "'"): # Do not greet users joining the channel.
  34. # return
  35. # if joins == 1:
  36. # message = "Welcome to " + font.red + event.target + font.reset + ", " + font.red + event.source.nick + font.reset + ". For a list of command type " + blue + self.cmdchar + "cmd" + font.reset + "."
  37. # if joins == 3:
  38. # message = "Welcome back in " + font.red + event.target + font.reset + ", " + font.red + event.source.nick + font.reset + ". To turn of greetings, type " + blue + "!stopgreet" + font.reset + "."
  39. # if joins == 5:
  40. # if self.channels[event.target].has_key(): # Channel has a password.
  41. # message = "Welcome back again " + font.red + event.source.nick + font.reset + ". To automaticly join this channel type " + blue + "/ns ajoin " + font.reset + "ADD " + font.red + event.target + font.reset + italic + " password"
  42. # else: # Channel does not have a password.
  43. # message = "Welcome back again " + font.red + event.source.nick + font.reset + ". To automaticly join this channel type " + blue + "/ns ajoin " + font.reset + "ADD " + font.red + event.source.nick + " " + event.target
  44. # if joins < 100 and str(joins)[-1:] == "0":
  45. # message = font.red + event.source.nick + font.reset + " you have joined " + font.red + event.target + font.reset + " " + str(joins) + " times!"
  46. # if joins < 1000 and str(joins)[-2:] == "00" or joins < 1000 and str(joins)[-2:] == "50":
  47. # message = "Epic! " + font.red + event.source.nick + font.reset + " you have joined " + font.red + event.target + font.reset + " " + str(joins) + " times!"
  48. # if joins < 10000 and str(joins)[-2:] == "00":
  49. # message = "AMAZING! " + font.red + event.source.nick + font.reset + " you have joined " + font.red + event.target + font.reset + " " + str(joins) + " times!"
  50. # try:
  51. # connection.privmsg(event.target, message)
  52. # except:
  53. # pass