Example #1
0
    def _add_sender(self, user_to_response, message):
        response = 'Я отправил запрос к {0}. ' \
                   'Необходимо зайти на эту страницу и подтвердить добавление.'.format(vkapi.message_to_vkid(message))

        vkapi.send_message(vkapi.message_to_vkid(message), self._token,
                           'Вашу страницу добавляют для рассылки, '
                           'для подтверждения этого надо пройти по этой ссылке {0}, '
                           'скопировать ссылку из адресной строки и отправить мне обратно.'
                           .format(vkapi.auth_link))

        logger.info('Added to _wait_for_sender {0}'.format(vkapi.message_to_scrname(message)))
        self._wait_for_sender.append(vkapi.message_to_vkid(message))

        return response
Example #2
0
    def reply_to_admin(self, data):
        logger.info('in reply_to_admin()')

        message = data['object']['body'].lower()
        user_id = data['object']['user_id']

        try:
            if message.find('добавь админа') != -1 or message.find(
                    'добавить админа') != -1:
                self._add_admin(message)
                return 'Админ добавлен.'

            elif message.find('добавь группу') != -1 or message.find(
                    'добавить группу') != -1:  #TODO change find to [a, b]
                # self._add_group(user_id, message)

                self._wait_for_moderators[user_id] = vkapi.message_to_vkid(
                    message)  # будем ждать ответа

                print(self._wait_for_moderators)

                return self._get_mess_with_auth_link()

            elif message[:15] == 'колво сообщений':
                self._change_mess_count(message)
                return 'Количество сообщений изменено.'

            elif message[:5] == 'текст':  # TODO text для конкретной группы
                self._change_text(
                    data['object']['body'])  # неизмененный текст нужен
                return 'Текст изменен.'

            elif message[:24].find(
                    'добавь страницу') != -1 or message[:24].find(
                        'добавить страницу') != -1:
                return self._add_sender(user_id, message)

            elif message[:16].find(
                    'запусти рассылку') != -1 or message[:16].find(
                        'запустить рассылку') != -1:
                self._sender.run()
                return 'Рассылка запущена.'

            elif message[:20].find(
                    'останови рассылку') != -1 or message[:20].find(
                        'остановить рассылку') != -1:
                self._sender.stop()
                return 'Рассылка остановлена.'

            else:
                return 'Я не понял команды. Попробуйте еще раз.'

        except ManualException as ex:
            logger.info('EXCEPTION RAISED: ' + ex.message)
            return ex.message
        except Exception as ex:
            logger.info('EXCEPTION RAISED: ' + str(ex))
            traceback.print_exc()
            return self._bad_message
Example #3
0
def test_consumer_mess():
    g.db.close()

    screenname = 'https://vk.com/paulpalich'
    consumer_id = vkapi.message_to_vkid(screenname)

    debug_processing(
        '{"type": "message_new", "object": {"id": 43, "date": 1492522323, '
        '"out": 0, "user_id": ' + str(consumer_id) + ', "read_state": 0, '
        '"body": "Это случайное сообщение от случайного чувака!!!"}}')
Example #4
0
    def _change_mess_count(self, message):
        self._sender.something_is_changed()
        logger.info('in BotBase._change_mess_count()')

        without_mes_count = message.split()
        without_mes_count.pop()  # выкидывает количество сообщений

        group_id = vkapi.message_to_vkid(without_mes_count[-1])  # кидает внутрь последнее слово
        group = TargetGroup.get(TargetGroup.vkid == group_id)
        group.message_count = message.split()[-1]
        group.save()
Example #5
0
    def _change_text(self, message):
        self._sender.something_is_changed()
        text = re.findall('\"[\w\W]*\"', message)[0]  # берет текст
        request = message.replace(' ' + text, '')
        group_id = vkapi.message_to_vkid(request)

        text = text[1:-1]  # отрезает ковычки

        group = TargetGroup.get(TargetGroup.vkid == group_id)
        group.text = text
        group.save()
Example #6
0
    def _add_admin(self, message):
        logger.info('in BotBase._add_admin()')

        new_anmin_vkid = vkapi.message_to_vkid(message)

        admin = AdminPage.create(vkid=new_anmin_vkid, target_group=None)