@clazy13

Почему после мута пользователя бан дается не равномерно?

Когда я мучу пользователя в боте на час, все выводится вроде как нормально(то есть бан дается на час), но когда я мучу пользователя на 2 3 и более часов, общая сумма мута постоянно увеличивается, что делать?

Код:

@dp.message_handler(commands=['mute'], commands_prefix='/')
async def mute_user(message: types.Message):
    if message.chat.type in (
    types.ChatType.GROUP,
    types.ChatType.SUPERGROUP
    ):
        if message.from_user.id == admin_id_leru or message.from_user.id == admin_id_seruy:
            if message.reply_to_message != None:
                mute_hour = int(message.text[6:])
                time_with_num = datetime.now() + timedelta(hours=mute_hour * 1.6)
                print(time_with_num)
                real_time = time_with_num.strftime("%H:%M:%S")
                await message.bot.restrict_chat_member(chat_id=message.chat.id,
                user_id=message.reply_to_message.from_user.id,
                until_date = datetime.now() + timedelta(hours=mute_hour * 1.6),
                permissions=types.ChatPermissions(can_send_messages=False))
                await message.reply_to_message.reply(f'Пользователь {message.reply_to_message.from_user.first_name} был забанен до <b>{real_time}</b>', parse_mode=types.ParseMode.HTML)
                await bot.delete_message(chat_id=message.chat.id, message_id=message.reply_to_message.message_id)
            else:
                await message.reply('Эта команда должна быть ответом на сообщение!')


если не умножать на 1.6, то пользователя банит на 25 мин.
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
febday
@febday
Уберите умножение и используйте timestamp
mute_hour = int(message.text[6:])
time_with_num = datetime.now() + timedelta(hours=mute_hour)
time_with_timestamp = time_with_num.timestamp()
real_time = time_with_num.strftime("%H:%M:%S")
await message.bot.restrict_chat_member(chat_id=message.chat.id,
                user_id=message.reply_to_message.from_user.id,
                until_date = time_with_timestamp,
                permissions=types.ChatPermissions(can_send_messages=False)
)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы