решил сделать бота модератора но выдают эту ошибку
Полный код
from aiogram import Bot, Dispatcher, types
import sqlite3
from aiogram.dispatcher.filters import Command
from aiogram.contrib.fsm_storage.memory import MemoryStorage
# Подключаемся к базе данных SQLite3
conn = sqlite3.connect('kicks.db')
cursor = conn.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS kicks (
user_id INTEGER PRIMARY KEY,
username TEXT,
chat_id INTEGER,
chat_title TEXT)""")
conn.commit()
# Инициализируем бота и диспетчер
bot = Bot(token='')
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)
# Функция для добавления кикнутого пользователя в базу данных
def add_kick(user_id, username, chat_id, chat_title):
cursor.execute("INSERT INTO kicks (user_id, username, chat_id, chat_title) VALUES (?, ?, ?, ?)",
(user_id, username, chat_id, chat_title))
conn.commit()
# Обработчик команды /start
@dp.message_handler(Command("start"))
async def welcome_message_handler(message: types.Message):
await message.answer("Добро пожаловать! Я бот-модератор. Я могу заглушить или кикнуть участника беседы. "
"Также я буду приветствовать новых игроков.")
# Обработчик присоединения нового участника к беседе
@dp.message_handler(content_types=types.ContentType.NEW_CHAT_MEMBERS)
async def new_chat_members_handler(message: types.Message):
for member in message.new_chat_members:
await message.answer(f"Добро пожаловать в нашу беседу, {member.full_name}!")
# Обработчик команды /mute
@dp.message_handler(Command("mute"))
async def mute_handler(message: types.Message):
if not message.reply_to_message:
await message.answer("Эта команда должна быть ответом на сообщение пользователя.")
return
user_id = message.reply_to_message.from_user.id
chat_id = message.chat.id
# Заглушаем пользователя
await bot.restrict_chat_member(
chat_id=chat_id,
user_id=user_id,
until_date=types.ChatPermissions(
can_send_messages=False,
can_send_media_messages=False,
can_send_polls=False,
can_send_other_messages=False,
can_add_web_page_previews=False
).until_date
)
# Сохраняем информацию о заглушенном пользователе в базу данных
add_kick(user_id, message.reply_to_message.from_user.username, chat_id, message.chat.title)
await message.answer(f"Пользователь {message.reply_to_message.from_user.full_name} был заглушен.")
# Обработчик команды /kick
@dp.message_handler(Command("kick"))
async def kick_handler(message: types.Message):
if not message.reply_to_message:
await message.answer("Эта команда должна быть ответом на сообщение пользователя.")
return
user_id = message.reply_to_message.from_user.id
chat_id = message.chat.id
# Кикаем пользователя
await bot.kick_chat_member(chat_id=chat_id, user_id=user_id)
# Сохраняем информацию о кикнутом пользователе в базу данных
add_kick(user_id, message.reply_to_message.from_user.username, chat_id, message.chat.title)
await message.answer(f"Пользователь {message.reply_to_message.from_user.full_name} был кикнут.")
if __name__ == '__main__':
dp.start_polling()
Ошибка
C:\Users\User\Desktop\bot chuma\main.py:86: RuntimeWarning: coroutine 'Dispatcher.start_polling' was never awaited
dp.start_polling()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Пожалуйста объясните что нужно сделать?