Example #1
0
    def google(self, message, text):
        if not text:
            m = self.bot.send_message(
                message.chat.id,
                'Google for what?',
                reply_to_message_id=message.message_id,
                reply_markup=ForceReply.create(selective=True)
            ).wait()
            self.need_reply(self.google, message, out_message=m, selective=True)
        else:
            self.bot.send_chat_action(message.chat.id, ChatAction.TEXT)

            res = requests.get('http://ajax.googleapis.com/ajax/services/search/web', params={
                'v': 1.0,
                'q': text,
            }).json()

            if res['responseStatus'] == 200:
                try:
                    res = res['responseData']['results'][0]
                    res['content'] = self.unescaper.unescape(GooglePlugin.TAG_RE.sub('', res['content']))
                    res['titleNoFormatting'] = self.unescaper.unescape(res['titleNoFormatting'])
                    reply = '%(titleNoFormatting)s\n\n%(content)s\n\n%(url)s' % res
                except IndexError:
                    reply = 'Sorry, nothing found...'
            else:  # pragma: no cover
                reply = 'It seems I\'m googling too much lately, I need to rest a little...'

            self.bot.send_message(message.chat.id, reply, reply_to_message_id=message.message_id, disable_web_page_preview=True)
Example #2
0
 def echo(self, message, text):
     if text:
         self.bot.send_message(message.chat.id, text, reply_to_message_id=message.message_id)
     else:
         m = self.bot.send_message(
             message.chat.id,
             'echo what?',
             reply_to_message_id=message.message_id,
             reply_markup=ForceReply.create(
                 selective=True
             )
         ).wait()
         self.need_reply(self.echo, message, out_message=m, selective=True)
 def random(self, message, text):
     if not text:
         m = self.bot.send_message(
             message.chat.id,
             'What are the options? (space separated)',
             reply_to_message_id=message.message_id,
             reply_markup=ForceReply.create(selective=True)
         ).wait()
         self.need_reply(self.random, message, out_message=m, selective=True)
     else:
         pars = text.split()  # split on any whitespace
         reply = choice(pars)
         self.bot.send_message(message.chat.id, reply, reply_to_message_id=message.message_id)
Example #4
0
    def priberam(self, message, text):
        self.bot.send_chat_action(message.chat.id, ChatAction.TEXT)
        if not text:
            m = self.bot.send_message(
                message.chat.id,
                'Qual palavra?',
                reply_to_message_id=message.message_id,
                reply_markup=ForceReply.create(selective=True)
            ).wait()
            if isinstance(m, Error):
                print 'ERROR:', m
            else:
                self.need_reply(self.priberam, message, out_message=m, selective=True)
            return

        res = self._lookup(text)

        return self.bot.return_message(message.chat.id, res, parse_mode='Markdown')
Example #5
0
    def priberam(self, message, text):
        self.bot.send_chat_action(message.chat.id, ChatAction.TEXT)
        if not text:
            m = self.bot.send_message(
                message.chat.id,
                'Qual palavra?',
                reply_to_message_id=message.message_id,
                reply_markup=ForceReply.create(selective=True)).wait()
            if isinstance(m, Error):
                print 'ERROR:', m
            else:
                self.need_reply(self.priberam,
                                message,
                                out_message=m,
                                selective=True)
            return

        res = self._lookup(text)

        return self.bot.return_message(message.chat.id,
                                       res,
                                       parse_mode='Markdown')
Example #6
0
    def msg(self, message, text):
        if not self.__is_admin(message):
            return

        if text == "":
            self.bot.send_message(message.chat.id, "Use /users or /chats to list available ids")
            return

        p = text.find(" ")
        if p < 0:
            self.save_data(message.chat.id, key2="msg", obj=text)
            m = self.bot.send_message(
                message.chat.id,
                "And say what?",
                reply_to_message_id=message.message_id,
                reply_markup=ForceReply.create(selective=True),
            ).wait()
            self.need_reply(self.forward_message, message, out_message=m, selective=True)
            return

        cid = text[:p]
        msg = text[p + 1 :]

        self.forward_message(message, msg, dst=cid)