Beispiel #1
0
 def handle_character(self, msg, chat_handler):
     if (yield from assert_text(msg,chat_handler)):
         char_name = msg["text"]
         if len(Character.select().where(Character.name == char_name)) > 0:
             self._target_user = Character.select().where(Character.name == char_name).get().user
             self.current_handler = self.handle_message
             yield from chat_handler.sender.sendMessage(_s["msg_forwardmessageq"])
         else:
             yield from chat_handler.sender.sendMessage(_s["msg_cantfindchar"])
Beispiel #2
0
 def handle_character(self, msg, chat_handler):
     if (yield from assert_text(msg,chat_handler)):
         char_name = msg["text"]
         if len(Character.select().where(Character.name == char_name)) > 0:
             location = Character.select().where(Character.name == char_name).get().location
             self.finished()
             yield from chat_handler.sender.sendMessage(_s["msg_charin"]+location)
         else:
             yield from chat_handler.sender.sendMessage(_s["msg_cantfindchar"])
Beispiel #3
0
 def handle_group_name(self, msg, chat_handler):
     if (yield from assert_text(msg, chat_handler)):
         group_name = msg["text"]
         if len(Group.select().where(Group.group_name == group_name))>0:
             yield from chat_handler.sender.sendMessage(_s["msg_groupname_exists"])
         else:
             self.finished()
             Group.create(group_name=group_name)
             yield from chat_handler.sender.sendMessage(_s["msg_group_created"])
    def handle_alliance(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            alliance_name = msg["text"]

            GroupLink.create_or_get(group=self._group,
                                    character_field_name="alliance_name",
                                    field_value=alliance_name)
            self.finished()
            yield from chat_handler.sender.sendMessage(
                _s["msg_linkadded"], reply_markup={'hide_keyboard': True})
Beispiel #5
0
 def handle_group_name(self, msg, chat_handler):
     if (yield from assert_text(msg, chat_handler)):
         group_name = msg["text"]
         if len(Group.select().where(Group.group_name == group_name)) > 0:
             yield from chat_handler.sender.sendMessage(
                 _s["msg_groupname_exists"])
         else:
             self.finished()
             Group.create(group_name=group_name)
             yield from chat_handler.sender.sendMessage(
                 _s["msg_group_created"])
Beispiel #6
0
    def handle_corp(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            corp_name = msg["text"]

            GroupLink.create_or_get(
                group=self._group,
                character_field_name="corporation_name",
                field_value=corp_name
            )
            self.finished()
            yield from chat_handler.sender.sendMessage(_s["msg_linkadded"],reply_markup={'hide_keyboard': True})
Beispiel #7
0
 def handle_character(self, msg, chat_handler):
     if (yield from assert_text(msg,chat_handler)):
         char_name = msg["text"]
         if len(Character.select().where(Character.name == char_name)) > 0:
             user = Character.select().where(Character.name == char_name).get().user
             user.auth_level = max(user.auth_level, 3)
             user.save()
             self.finished()
             yield from chat_handler.sender.sendMessage(_s["msg_userelevated"])
         else:
             yield from chat_handler.sender.sendMessage(_s["msg_cantfindchar"])
Beispiel #8
0
 def handle_character(self, msg, chat_handler):
     if (yield from assert_text(msg, chat_handler)):
         char_name = msg["text"]
         if len(Character.select().where(Character.name == char_name)) > 0:
             location = Character.select().where(
                 Character.name == char_name).get().location
             self.finished()
             yield from chat_handler.sender.sendMessage(_s["msg_charin"] +
                                                        location)
         else:
             yield from chat_handler.sender.sendMessage(
                 _s["msg_cantfindchar"])
Beispiel #9
0
 def handle_character(self, msg, chat_handler):
     if (yield from assert_text(msg, chat_handler)):
         char_name = msg["text"]
         if len(Character.select().where(Character.name == char_name)) > 0:
             self._target_user = Character.select().where(
                 Character.name == char_name).get().user
             self.current_handler = self.handle_message
             yield from chat_handler.sender.sendMessage(
                 _s["msg_forwardmessageq"])
         else:
             yield from chat_handler.sender.sendMessage(
                 _s["msg_cantfindchar"])
Beispiel #10
0
    def handle_keyid(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            try:
                self._keyid = msg["text"]
                self._keyid = int(msg["text"])

                if self._keyid < 100000:
                    yield from self.send_template(chat_handler, "KEYID_INVALID")
                else:
                    self.current_handler = self.handle_verification_code
                    yield from self.send_template(chat_handler, "QUERY_VERIFICATION_CODE")
            except ValueError:
                yield from self.send_template(chat_handler, "KEYID_NOT_INT")
Beispiel #11
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name == group_name)) > 0:

                self._group = Group.select().where(Group.group_name == group_name).get()
                mute_instance = Mute.select().where(Mute.user == chat_handler.user, Mute.group == self._group).get()
                mute_instance.delete_instance()

                self.finished()
                yield from chat_handler.sender.sendMessage(_s["msg_groupunmuted"], reply_markup={"hide_keyboard": True})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #12
0
 def handle_character(self, msg, chat_handler):
     if (yield from assert_text(msg, chat_handler)):
         character_name = msg["text"]
         if len(Character.select().where(Character.user == chat_handler.user,
                                         Character.name == character_name)) > 0:
             char = Character.select().where(Character.user == chat_handler.user,
                                             Character.name == character_name).get()
             chat_handler.user.main_character = char
             chat_handler.user.save()
             self.finished()
             yield from chat_handler.sender.sendMessage(_s["msg_maincharset"]+char.name,
                                                        reply_markup={'hide_keyboard': True})
         else:
             yield from chat_handler.sender.sendMessage(_s["msg_notyourchar"])
Beispiel #13
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name==group_name)) > 0:
                corps = [c.corporation_name for c in Character.select()]
                corp_count = [t[0] for t in Counter(corps).most_common(10)]
                options = [corp_count[:5], corp_count[5:]]

                self._group = Group.select().where(Group.group_name==group_name).get()

                self.current_handler = self.handle_corp
                yield from chat_handler.sender.sendMessage(_s["msg_whichingamecorp"],reply_markup={'keyboard': options})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #14
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name==group_name)) > 0:
                shiptypes = [c.shiptype_name for c in Character.select()]
                shiptypes_count = [t[0] for t in Counter(shiptypes).most_common(10) if t[0] != ""]
                options = [shiptypes_count[:5], shiptypes_count[5:]]

                self._group = Group.select().where(Group.group_name == group_name).get()

                self.current_handler = self.handle_shiptype
                yield from chat_handler.sender.sendMessage(_s["msg_whichingameship"],reply_markup={'keyboard': options})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #15
0
    def handle_keyid(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            try:
                self._keyid = msg["text"]
                self._keyid = int(msg["text"])

                if self._keyid < 100000:
                    yield from self.send_template(chat_handler,
                                                  "KEYID_INVALID")
                else:
                    self.current_handler = self.handle_verification_code
                    yield from self.send_template(chat_handler,
                                                  "QUERY_VERIFICATION_CODE")
            except ValueError:
                yield from self.send_template(chat_handler, "KEYID_NOT_INT")
Beispiel #16
0
    def handle_time(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            try:
                mute_until = datetime.datetime.now() + datetime.timedelta(minutes=int(msg["text"]))

                Mute.create(
                    user=chat_handler.user,
                    group=self._group,
                    until=mute_until)

                self.finished()
                yield from chat_handler.sender.sendMessage(_s["msg_mutegroupuntil"]+str(mute_until),
                                                           reply_markup={'hide_keyboard': True})
            except ValueError:
                yield from chat_handler.sender.sendMessage(_s["msg_expectint"])
Beispiel #17
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            group_name = msg["text"]
            if len(Group.select().where(Group.group_name==group_name)) > 0 :
                self._group = Group.select().where(Group.group_name == group_name).get()

                if chat_handler.user.auth_level > 2:
                    self.current_handler = self.handle_message
                    yield from chat_handler.sender.sendMessage(_s["msg_pingmessageq"],reply_markup={'hide_keyboard': True})
                elif len(GroupMembership.select().where(GroupMembership.group == self._group, GroupMembership.user == chat_handler.user)) > 0:
                    self.current_handler = self.handle_message
                    yield from chat_handler.sender.sendMessage(_s["msg_pingmessageq"],reply_markup={'hide_keyboard': True})
                else:
                    yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #18
0
    def handle_time(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            try:
                mute_until = datetime.datetime.now() + datetime.timedelta(
                    minutes=int(msg["text"]))

                Mute.create(user=chat_handler.user,
                            group=self._group,
                            until=mute_until)

                self.finished()
                yield from chat_handler.sender.sendMessage(
                    _s["msg_mutegroupuntil"] + str(mute_until),
                    reply_markup={'hide_keyboard': True})
            except ValueError:
                yield from chat_handler.sender.sendMessage(_s["msg_expectint"])
Beispiel #19
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name == group_name)) > 0:
                self._group = Group.select().where(Group.group_name == group_name).get()
                if len(Mute.select().where(Mute.group == self._group, Mute.user == chat_handler.user)) == 0:

                    show_keyboard = {'keyboard': [['60','1440'],['2160','10080']]}
                    self.current_handler = self.handle_time
                    yield from chat_handler.sender.sendMessage(_s["msg_howlongmute"], reply_markup=show_keyboard)
                else:
                    self.cancel()
                    yield from chat_handler.sender.sendMessage("You are already muting this group",reply_markup={'hide_keyboard': True})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #20
0
    def handle_verification_code(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            self._verification_code = msg["text"]

            r = re.compile("^[a-zA-Z0-9]{64}")
            if r.match(self._verification_code) is not None:

                key_details = yield from get_key_details(
                    self._keyid, self._verification_code)

                if key_details is not None:
                    if key_details["type"] == "Account":
                        if key_details["accessMask"] & get_config_item(
                                "API_MINIMUM_MASK", 16777216):
                            if key_details["expires"] == "":

                                api_key, created = ApiKey.create_or_get(
                                    user=chat_handler.user,
                                    key_id=self._keyid,
                                    verification_code=self._verification_code)

                                if not created:
                                    self.cancel()
                                    yield from self.send_template(
                                        chat_handler, "KEY_ALREADY_EXISTS")
                                else:
                                    self.finished()
                                    yield from self.send_template(
                                        chat_handler, "KEY_ADDED")
                            else:
                                self.finished()
                                yield from self.send_template(
                                    chat_handler, "KEY_EXPIRES")
                        else:
                            self.finished()
                            yield from self.send_template(
                                chat_handler, "KEY_WRONG_MASK")
                    else:
                        self.finished()
                        yield from self.send_template(chat_handler,
                                                      "KEY_NOT_ACCOUNT")
                else:
                    self.finished()
                    yield from self.send_template(chat_handler, "KEY_INVALID")
            else:
                yield from self.send_template(chat_handler, "VCODE_INVALID")
Beispiel #21
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name == group_name)) > 0:
                corps = [c.corporation_name for c in Character.select()]
                corp_count = [t[0] for t in Counter(corps).most_common(10)]
                options = [corp_count[:5], corp_count[5:]]

                self._group = Group.select().where(
                    Group.group_name == group_name).get()

                self.current_handler = self.handle_corp
                yield from chat_handler.sender.sendMessage(
                    _s["msg_whichingamecorp"],
                    reply_markup={'keyboard': options})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #22
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name == group_name)) > 0:

                self._group = Group.select().where(
                    Group.group_name == group_name).get()
                mute_instance = Mute.select().where(
                    Mute.user == chat_handler.user,
                    Mute.group == self._group).get()
                mute_instance.delete_instance()

                self.finished()
                yield from chat_handler.sender.sendMessage(
                    _s["msg_groupunmuted"],
                    reply_markup={'hide_keyboard': True})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #23
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name == group_name)) > 0:
                alliances = [c.alliance_name for c in Character.select()]
                alliances_count = [
                    t[0] for t in Counter(alliances).most_common(10)
                    if t[0] != ""
                ]
                options = [alliances_count[:5], alliances_count[5:]]

                self._group = Group.select().where(
                    Group.group_name == group_name).get()

                self.current_handler = self.handle_alliance
                yield from chat_handler.sender.sendMessage(
                    _s["msg_whichingamealliance"],
                    reply_markup={'keyboard': options})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #24
0
    def handle_verification_code(self, msg, chat_handler):
        if (yield from assert_text(msg,chat_handler)):
            self._verification_code = msg["text"]

            r = re.compile("^[a-zA-Z0-9]{64}")
            if r.match(self._verification_code) is not None:

                key_details = yield from get_key_details(self._keyid,self._verification_code)

                if key_details is not None:
                    if key_details["type"] == "Account":
                        if key_details["accessMask"] & get_config_item("API_MINIMUM_MASK", 16777216):
                            if key_details["expires"] == "":

                                api_key, created = ApiKey.create_or_get(
                                    user=chat_handler.user,
                                    key_id=self._keyid,
                                    verification_code=self._verification_code)

                                if not created:
                                    self.cancel()
                                    yield from self.send_template(chat_handler, "KEY_ALREADY_EXISTS")
                                else:
                                    self.finished()
                                    yield from self.send_template(chat_handler, "KEY_ADDED")
                            else:
                                self.finished()
                                yield from self.send_template(chat_handler, "KEY_EXPIRES")
                        else:
                            self.finished()
                            yield from self.send_template(chat_handler, "KEY_WRONG_MASK")
                    else:
                        self.finished()
                        yield from self.send_template(chat_handler, "KEY_NOT_ACCOUNT")
                else:
                    self.finished()
                    yield from self.send_template(chat_handler, "KEY_INVALID")
            else:
                yield from self.send_template(chat_handler, "VCODE_INVALID")
Beispiel #25
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            group_name = msg["text"]
            if len(Group.select().where(Group.group_name == group_name)) > 0:
                self._group = Group.select().where(
                    Group.group_name == group_name).get()

                if chat_handler.user.auth_level > 2:
                    self.current_handler = self.handle_message
                    yield from chat_handler.sender.sendMessage(
                        _s["msg_pingmessageq"],
                        reply_markup={'hide_keyboard': True})
                elif len(GroupMembership.select().where(
                        GroupMembership.group == self._group,
                        GroupMembership.user == chat_handler.user)) > 0:
                    self.current_handler = self.handle_message
                    yield from chat_handler.sender.sendMessage(
                        _s["msg_pingmessageq"],
                        reply_markup={'hide_keyboard': True})
                else:
                    yield from chat_handler.sender.sendMessage(
                        _s["msg_notagroup"])
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])
Beispiel #26
0
    def handle_group(self, msg, chat_handler):
        if (yield from assert_text(msg, chat_handler)):
            group_name = msg["text"]

            if len(Group.select().where(Group.group_name == group_name)) > 0:
                self._group = Group.select().where(
                    Group.group_name == group_name).get()
                if len(Mute.select().where(
                        Mute.group == self._group,
                        Mute.user == chat_handler.user)) == 0:

                    show_keyboard = {
                        'keyboard': [['60', '1440'], ['2160', '10080']]
                    }
                    self.current_handler = self.handle_time
                    yield from chat_handler.sender.sendMessage(
                        _s["msg_howlongmute"], reply_markup=show_keyboard)
                else:
                    self.cancel()
                    yield from chat_handler.sender.sendMessage(
                        "You are already muting this group",
                        reply_markup={'hide_keyboard': True})
            else:
                yield from chat_handler.sender.sendMessage(_s["msg_notagroup"])