import random
from datetime import datetime
from common import queries, userstatus, log

class Inform():
    def owners(self, connection, message):
        log.info('Informing owners: %s' % message)
        if self.network.home_channel in self.channels:
            for owner in self.channels[self.network.home_channel].owners():
                connection.privmsg(owner, message)

    def notice_owners(self, connection, message):
        log.info('Notifying owners: %s' % message)
        if self.network.home_channel in self.channels:
            for owner in self.channels[self.network.home_channel].owners():
                connection.notice(owner, message)

    def operators(self, connection, message):
        log.info('Informing operators: %s' % message)
        if self.network.home_channel in self.channels:
            for user in self.channels[self.network.home_channel].owners():
                connection.privmsg(user, message)
            for user in self.channels[self.network.home_channel].admins():
                connection.privmsg(user, message)
            for user in self.channels[self.network.home_channel].opers():
                connection.privmsg(user, message)

    def home_channel(self, connection, message):
        log.info('Informing home channel: %s' % message)
        connection.privmsg(self.network.home_channel, message)

# class Protectees():
#     def update(self, nick, user, host):
#         if nick in self.protectees: # On record.
#             if userstatus.atleast_halfop(self, user, self.network.home_channel) or nick == self.connection.get_nickname():   # Update. Is atleast halfop or bot itself.
#                 self.protectees[nick].update({'ident': nick + "!" + user + "@" + host})
#             else:   # Delete.
#                 del self.protectees[nick]
#         else:   # Append.
#             if userstatus.atleast_halfop(self, user, self.network.home_channel) or nick == self.connection.get_nickname():   # Update. Is atleast halfop or bot itself.
#                 self.protectees[nick] = {'ident': nick + "!" + user + "@" + host}

# class Replyto():
#     def name(connection, event):
#         messages = [
#             "Hello " + event.source.nick + ".",
#             "How are you today " + event.source.nick +  "?",
#             "Piss off " + event.source.nick + "!",
#             event.source.nick + ", what are you botherring me for?",
#             "Go bother someone else...",
#             "Is life treating you fair?",
#             "What's up?",
#             "Why are you talking to me?",
#             "I'm not talking to you!",
#             "What have you been up to?",
#             "How is life?",
#             "What do you want from me?",
#             event.source.nick + ", why are you bothering me?",
#             event.source.nick + ", when will you stop talking about me?",
#             event.source.nick + " I hate you!",
#             "Get bent!",
#             "Go and cut yourself.",
#             "Do you think i care about you?",
#             "Stop nickalerting me " + event.source.nick + ", you wanker!",
#         ]
#         actions = [
#             "hides!",
#             "dies.",
#             "runs away.",
#             "is ignoring that.",
#             "is not feeling like caring.",
#             "is away",
#             "will be ignoring that.",
#             "is faggaliciouz!! <333",
#             "likes you! <3",
#             "looks the other way...",
#             "does a little dance with " + event.source.nick + ".",
#             "makes a little love.",
#             "get's down tonight.",
#             "thinks SAM Broadcaster sucks raw cocks in hell!",
#             "is secretly in love with " + event.source.nick + ".",
#             "tosses " + event.source.nick + "'s salad.",
#             "tortures " + event.source.nick + " horribly!",
#             "is smelling like tuna when looking at " + event.source.nick + ".",
#             "sniffing armpits.. Eew! Smells like " + event.source.nick + ".",
#             "rapes " + event.source.nick + ".",
#             "pets " + event.source.nick + ", and sais: Why what a nice little human you are, and such plentifull organs!"
#         ]
#
#         # Reply with a random message or action.
#         if random.randint(0, 1) == 0:
#             connection.privmsg(event.target, random.choice(messages))
#         else:
#             connection.action(event.target, random.choice(actions))

# class Aggressiveness():
#     def retalliation_reason(self, connection, protectee, behaviour):
#         if protectee == connection.get_nickname():  # Bot itself.
#              return "Aggression channel function = " + behaviour + ": Self defense."
#         else:
#             return "Aggression channel function = " + behaviour + ": " + protectee + " is atlast halfop in " + self.network.home_channel + "."
#
