1
0

on_privnotice.py 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import commands.public, commands.admin, commands.games, commands.statistics
  2. from common import log, queries, font
  3. from events.common import Inform
  4. def process_event(self, connection, event):
  5. log.info(event) # Log to console.
  6. # Ignore server connect messages.
  7. if event.source == None:
  8. return
  9. # Get and update resources.
  10. user = queries.create_or_get_and_update_last_event(self, 'user', 'pn', user_name=event.source.nick, event_subject_name=event.target)
  11. channel = None
  12. commands.public.do_command(self, connection, event, user, channel)
  13. commands.admin.do_command(self, connection, event, user, channel)
  14. commands.statistics.do_command(self, connection, event, user, channel)
  15. commands.games.do_command(self, connection, event, user, channel)
  16. if event.source.nick == connection.get_nickname(): # Message came from myself.
  17. return
  18. elif event.source.nick == "NickServ":
  19. if event.arguments[0].startswith("This nickname is registered"):
  20. connection.privmsg('NickServ', 'identify %s %s' % (self.network.nickname, self.network.password)) # Identify with NickServ.
  21. if event.arguments[0].startswith("You are already identified."):
  22. return
  23. # Nick \x02RotBot\x02 isn't registered.
  24. if event.arguments[0].endswith(' is not a registered nickname.') or event.arguments[0].startswith('Nick ') and event.arguments[0].endswith(' isn\'t registered.') or event.arguments[0] == 'Your nick isn\'t registered.': # Username from database is not registered.
  25. connection.privmsg('NickServ', 'register %s spamtBK@xs4all.nl' % (self.network.password)) # Register with NickServ.
  26. connection.privmsg(self.network.home_channel, 'Regisring %s%s%s with %sNickServ%s.' % (font.red, self.network.nickname, font.reset, font.red, font.reset)) # Recover control of nickname via NickServ, old style.
  27. log.info('Registerring with NickServ.')
  28. if event.arguments[0].startswith('Nickname ') and event.arguments[0].endswith(' registered.'):
  29. Inform.home_channel(seld, connection, 'Registerred nickname %s%s%s with NickServ.' % font.red, self.network.nickname, font.reset)
  30. # elif event.source.nick == "ChanServ":
  31. # if event.arguments[0].startswith("Key for channel ") and len(event.arguments[0]) > 5: # Received channel key.
  32. # self.channelkeys[event.arguments[0].split(' ')[3]] = event.arguments[0].split(' ')[5][:-1]
  33. # connection.join(event.arguments[0].split(' ')[3], event.arguments[0].split(' ')[5][:-1])
  34. # Inform.owners(self, connection, "Received " + red + event.arguments[0].split(" ")[3] + reset + " key: " + event.arguments.split(" ")[5][:-1])
  35. # if event.arguments[0] == "Password authentication required for that command.": # Not authenticated with NisckServ.
  36. # Inform.notice_owners(self, connection, "Not authenticated with NickServ. See " + blue + self.helpchar + "recovernick " + reset + "and " + blue + self.helpchar + "registernick" + reset + ".")
  37. # return
  38. # if event.arguments[0].startswith("You have been unbanned from ") or event.arguments[0].endswith(" autokick list is empty.") or event.arguments[0].startswith("You are already in ") or event.arguments[0] == "Syntax: UNBAN channel [nick]" or event.arguments[0] == "/msg ChanServ HELP UNBAN for more information":
  39. # return
  40. # if event.arguments[0].startswith("Channel ") and event.arguments[0].endswith(" has no key."):
  41. # return
  42. if event.source.nick != "Global":
  43. Inform.notice_owners(self, connection, 'Notice from %s %s %s %s: %s %s' % (font.red, font.red, event.source.nick, font.grey, font.reset, event.arguments[0]))