def _display_statistic(self, bot, update): message = update.message if message.chat_id not in (self._chat_id, self._admin_id): return user, _ = User.get_or_create(user_id=message.from_user.id, defaults={ 'username': get_username_or_name( message.from_user)}) if not user.user_messages_info.exists(): bot.sendMessage(chat_id=message.chat_id, reply_to_message_id=message.message_id, text='Ты не писал ещё ничего, алло') return number = user.user_messages_info.get().number if 11 <= number % 100 <= 14: words = 'нужных сообщений' elif number % 10 == 1: words = 'нужное сообщение' elif 2 <= number % 10 <= 4: words = 'нужных сообщения' else: words = 'нужных сообщений' bot.sendMessage(chat_id=message.chat_id, reply_to_message_id=message.message_id, text='ты написал {0} никому не {1}.'.format(number, words))
def _update_statistic(self, bot, update): message: Message = update.message if message.chat_id != self._chat_id: return user, _ = User.get_or_create(user_id=message.from_user.id, defaults={ 'username': get_username_or_name(message.from_user)}) actual_username = get_username_or_name(message.from_user) if user.username != actual_username: user.username = actual_username user.save() user_messages_info, _ = UserMessagesInfo \ .get_or_create(user=user, defaults={'number': 0}) user_messages_info.number += 1 user_messages_info.save()