def on_coarse(self, message): logger.debug("NeutronBot::on_coarse") user = TelegramUser.objects.get(id=message.from_user.id).user informer, created = Informer.objects.get_or_create(user=user) meaning_pk = get_next_meaning_for_informer(informer) meaning = Meaning.objects.get(pk=meaning_pk) #msg = '*%s*: %s' % (definition.word, definition.definition) msg = '*%s*' % (meaning.word) markup = types.ReplyKeyboardMarkup(one_time_keyboard=False) alternates = ['ok', 'coarse!'] markup.row(*alternates) markup.row('/help') def wait_reply(answer): logger.debug("NeutronBot::wait_reply_for_coarse") if answer.content_type == 'text': command = extract_command(answer.text) if not command: logger.debug('Answer for %s: %s' % (meaning.word, answer.text)) if answer.text in alternates: profane = (answer.text != alternates[0]) CoarseWord.objects.create(word=meaning.word, profane=profane, interface=self.interface, informer=informer) # Ask for another word self.on_coarse(answer) self.send_message(message.chat.id, msg, reply_markup=markup, parse_mode='Markdown') #self.send_message(message.chat.id, msg, reply_markup=markup) self.pre_message_subscribers_next_step[message.chat.id] = [] self.register_next_step_handler(message, wait_reply)
def on_word(self, message): logger.debug("NeutronBot::on_word") user = TelegramUser.objects.get(id=message.from_user.id).user informer, created = Informer.objects.get_or_create(user=user) meaning_pk = get_next_meaning_for_informer(informer) meaning = Meaning.objects.get(pk=meaning_pk) msg = '*%s*: %s' % (meaning.word, meaning.definition) markup = types.ReplyKeyboardMarkup(one_time_keyboard=False) markup.row('ok', 'unknown') markup.row('/help') def wait_reply(answer): logger.debug("NeutronBot::wait_reply_for_word") if answer.content_type == 'text': command = extract_command(answer.text) if not command: logger.debug('Answer for %s: %s' % (meaning.word, answer.text)) if answer.text in ['ok', 'unknown']: use = WordUse.USES.ok if answer.text == 'ok' else WordUse.USES.unrecognized WordUse.objects.create(meaning=meaning, use=use, interface=self.interface, informer=informer) # Ask for another word self.on_word(answer) self.send_message(message.chat.id, msg, reply_markup=markup, parse_mode='Markdown') #self.send_message(message.chat.id, msg, reply_markup=markup) self.pre_message_subscribers_next_step[message.chat.id] = [] self.register_next_step_handler(message, wait_reply)
def on_coarse(self, message): logger.debug("NeutronBot::on_coarse") user = TelegramUser.objects.get(id=message.from_user.id).user informer, created = Informer.objects.get_or_create(user=user) meaning_pk = get_next_meaning_for_informer(informer) meaning = Meaning.objects.get(pk=meaning_pk) #msg = '*%s*: %s' % (definition.word, definition.definition) msg = '*%s*' % (meaning.word) markup = types.ReplyKeyboardMarkup(one_time_keyboard=False) alternates = ['ok', 'coarse!'] markup.row(*alternates) markup.row('/help') def wait_reply(answer): logger.debug("NeutronBot::wait_reply_for_coarse") if answer.content_type == 'text': command = extract_command(answer.text) if not command: logger.debug('Answer for %s: %s' % (meaning.word, answer.text)) if answer.text in alternates: profane = (answer.text != alternates[0]) CoarseWord.objects.create(word=meaning.word, profane=profane, interface=self.interface, informer=informer) # Ask for another word self.on_coarse(answer) self.send_message(message.chat.id, msg, reply_markup=markup, parse_mode='Markdown') #self.send_message(message.chat.id, msg, reply_markup=markup) self.pre_message_subscribers_next_step[message.chat.id] = [] self.register_next_step_handler(message, wait_reply)
def on_word(self, message): logger.debug("NeutronBot::on_word") user = TelegramUser.objects.get(id=message.from_user.id).user informer, created = Informer.objects.get_or_create(user=user) meaning_pk = get_next_meaning_for_informer(informer) meaning = Meaning.objects.get(pk=meaning_pk) msg = '*%s*: %s' % (meaning.word, meaning.definition) markup = types.ReplyKeyboardMarkup(one_time_keyboard=False) markup.row('ok', 'unknown') markup.row('/help') def wait_reply(answer): logger.debug("NeutronBot::wait_reply_for_word") if answer.content_type == 'text': command = extract_command(answer.text) if not command: logger.debug('Answer for %s: %s' % (meaning.word, answer.text)) if answer.text in ['ok', 'unknown']: use = WordUse.USES.ok if answer.text == 'ok' else WordUse.USES.unrecognized WordUse.objects.create(meaning=meaning, use=use, interface=self.interface, informer=informer) # Ask for another word self.on_word(answer) self.send_message(message.chat.id, msg, reply_markup=markup, parse_mode='Markdown') #self.send_message(message.chat.id, msg, reply_markup=markup) self.pre_message_subscribers_next_step[message.chat.id] = [] self.register_next_step_handler(message, wait_reply)