on_pubmsg.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import commands.public, commands.admin, commands.games, commands.statistics
  2. from common import log, queries
  3. def process_event(self, connection, event):
  4. # Let's not log all public messages to the console.
  5. # Get and update resources.
  6. channel = queries.create_or_get_and_update_last_event(self, 'channel', 'cm', channel_name=event.target, user_name=event.source.nick)
  7. user = queries.create_or_get_and_update_last_event(self, 'user', 'cm', channel_name=event.target, user_name=event.source.nick)
  8. queries.update_message_statistics(self, 'message', channel, user) # Update message statistics
  9. commands.public.do_command(self, connection, event, user, channel)
  10. commands.admin.do_command(self, connection, event, user, channel)
  11. commands.statistics.do_command(self, connection, event, user, channel)
  12. commands.games.do_command(self, connection, event, user, channel)
  13. # # Stop if channelfunction chat if off.
  14. # if not self.db.one("SELECT chat FROM channels WHERE name='" + event.target + "' AND network='" + self.network + "'"):
  15. # return
  16. #
  17. # if connection.get_nickname().lower() in event.arguments[0].lower() and event.source.nick is not connection.get_nickname(): # Bot's name was mentioned
  18. # if event.arguments[0].startswith(self.cmdchar):
  19. # return # Stop if it's a command.
  20. # Replyto.name(connection, event)
  21. #
  22. # # Character lame.
  23. # elif event.arguments[0] == len(event.arguments[0]) * event.arguments[0][0]: # Trigger exclusively same character.
  24. #
  25. # # Do not say KKK.
  26. # if event.arguments[0] == "kk":
  27. # return
  28. #
  29. # # Stop if lamed recently.
  30. # lastlame = self.db.one("SELECT last_lame FROM channels WHERE name='" + event.target + "' AND network='" + self.network + "'")
  31. # if lastlame and lastlame > datetime.datetime.now() - datetime.timedelta(minutes=2): # In the last 2 minutes.
  32. # return
  33. #
  34. # # Update lastlame.
  35. # self.db.run("UPDATE channels SET last_lame='" + str(datetime.datetime.now()) + "' WHERE name='" + event.target + "' AND network='" + self.network + "'")
  36. #
  37. # connection.privmsg(event.target, event.arguments[0] + event.arguments[0][:1])