@venzo24
Изучаю язык python

Не работает mute на aiogram?

import time
import config
import logging


from aiogram import Bot, Dispatcher, executor, types



logging.basicConfig(level=logging.INFO)
#---------------------------------
bot = Bot(token=config.token)
dp = Dispatcher(bot)
#-------------------------------------

@dp.message_handler(commands=['mute'], is_chat_admin=True)
@dp.message_handler(lambda message: message.text.startswith("мут"), is_chat_admin=True)
async def mute(message):
      name1 = message.from_user.get_mention(as_html=True)
      if not message.reply_to_message:
         await message.reply("Команда має бути відповідю!")
         return
      try:
         muteint = int(message.text.split()[1])
         mutetype = int(message.text.split()[2])
         comment = int(" ".join(message.text.split()[3:]))
      except:
         await message.reply('Не правильно написано!\nПриклад:\n`/мут 1 ч причина`')
         return
      if mutetype == "г" or mutetype == "годин" or mutetype == "h":
         await bot.restrict_chat_member(message.chat.id, message.reply_to_message.from_user.id, until_date=int(time()) + muteint*3600)
         await message.answer(f' | <b>Решение было принято:</b> {name1}\n | <b>Нарушитель:</b> <a href="tg://user?id={message.reply_to_message.from_user.id}">{message.reply_to_message.from_user.first_name}</a>\n⏰ | <b>Срок наказания:</b> {muteint} {mutetype}\n | <b>Причина:</b> {comment}',  parse_mode='html')
      #----------------
      if mutetype == "хв" or mutetype == "хвилин" or mutetype == "m":
         await bot.restrict_chat_member(message.chat.id, message.reply_to_message.from_user.id, until_date=int(time()) + muteint*60)
         await message.answer(f' | <b>Решение было принято:</b> {name1}\n | <b>Нарушитель:</b> <a href="tg://user?id={message.reply_to_message.from_user.id}">{message.reply_to_message.from_user.first_name}</a>\n⏰ | <b>Срок наказания:</b> {muteint} {mutetype}\n | <b>Причина:</b> {comment}',  parse_mode='html')
      #------------------
      if mutetype == "д" or mutetype == "дней" or mutetype == "день":
         await bot.restrict_chat_member(message.chat.id, message.reply_to_message.from_user.id, until_date=int(time()) + muteint*86400)
         await message.answer(f' | <b>Решение было принято:</b> {name1}\n | <b>Нарушитель:</b> <a href="tg://user?id={message.reply_to_message.from_user.id}">{message.reply_to_message.from_user.first_name}</a>\n⏰ | <b>Срок наказания:</b> {muteint} {mutetype}\n | <b>Причина:</b> {comment}',  parse_mode='html')



@dp.message_handler(content_types=["new_chat_members"])
async def on_user_joined(message: types.Message):
    await message.delete()


#фильтры--------------------
@dp.message_handler()
async def filter_messages(message: types.Message):
    if "дик"  in message.text:
        await message.delete()
    if "/dick"  in message.text:
        await message.delete()
    if "Расти страну"  in message.text:
        await message.delete()
    if "/iq"  in message.text:
        await message.delete()
    if "mq"  in message.text:
        await message.delete()
   
    

if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)


Не работает команда пишет все время сделайте по форме
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bituke
import time
import config
import logging
from aiogram import Bot, Dispatcher, executor, types

logging.basicConfig(level=logging.INFO)

bot = Bot(token=config.token)
dp = Dispatcher(bot)

# A dictionary to map mutetype to corresponding time in seconds
MUTE_TYPE = {
    "г": 3600,
    "годин": 3600,
    "h": 3600,
    "хв": 60,
    "хвилин": 60,
    "m": 60,
    "д": 86400,
    "дней": 86400,
    "день": 86400
}

@dp.message_handler(commands=['mute'], is_chat_admin=True)
async def mute(message):
    name1 = message.from_user.get_mention(as_html=True)
    if not message.reply_to_message:
        await message.reply("Команда має бути відповідю!")
        return
	try:
	    mute_time, mute_type, *comment = message.text.split()
	    mute_time = int(mute_time)
	    comment = " ".join(comment)
	except:
	    await message.reply('Не правильно написано!\nПриклад:\n/мут 1 ч причина')
	    return

	mute_duration = 0
	if mute_type == "ч":
	    mute_duration = mute_time * 3600
	elif mute_type == "хв":
	    mute_duration = mute_time * 60
	elif mute_type == "д":
	    mute_duration = mute_time * 86400
	else:
	    await message.reply(f'Неправильний тип часу! Використовуйте: ч (часи), хв (хвилини), д (дні)')
	    return

	await bot.restrict_chat_member(
	    message.chat.id, message.reply_to_message.from_user.id, 
	    until_date=int(time.time()) + mute_duration
	)
	await message.answer(f' | <b>Решение было принято:</b> {name1}\n | <b>Нарушитель:</b> <a href="tg://user?id={message.reply_to_message.from_user.id}">{message.reply_to_message.from_user.first_name}</a>\n⏰ | <b>Срок наказания:</b> {mute_time} {mute_type}\n | <b>Причина:</b> {comment}', parse_mode='html')
Ответ написан
Ваш ответ на вопрос

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

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