@yagriffin

Чат бот вк не работает, пишет что в коде ошибок нет, но на команды не отвечает что делать?

import asyncio
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

vk_session = vk_api.VkApi(token='token')
longpoll = VkBotLongPoll(vk_session, 'id')
vk = vk_session.get_api()

ban_list = []
warn_list = []
mute_list = []
kick_list = []

async def handle_message(event):
    message = event.object.message
    user_id = message['from_id']
    text = message['text']

    if text.startswith('/ban'):
        ban_list.append(user_id)
        vk.messages.send(peer_id=message['peer_id'], message='Пользователь забанен', random_id=0)

    elif text.startswith('/kick'):
        kick_list.append(user_id)
        vk.messages.send(peer_id=message['peer_id'], message='Пользователь кикнут', random_id=0)

    elif text.startswith('/warn'):
        warn_list.append(user_id)
        vk.messages.send(peer_id=message['peer_id'], message='Пользователю выдано предупреждение', random_id=0)

    elif text.startswith('/mute'):
        mute_list.append(user_id)
        vk.messages.send(peer_id=message['peer_id'], message='Пользователь замучен', random_id=0)

    elif text.startswith('/clear'):
        vk.messages.delete(message_ids=[message['id']])

    elif text.startswith('/unban'):
        ban_list.remove(user_id)
        vk.messages.send(peer_id=message['peer_id'], message='Пользователь разбанен', random_id=0)

    elif text.startswith('/unmute'):
        mute_list.remove(user_id)
        vk.messages.send(peer_id=message['peer_id'], message='Пользователь размучен', random_id=0)

    elif text.startswith('/unwarn'):
        warn_list.remove(user_id)
        vk.messages.send(peer_id=message['peer_id'], message='Предупреждение снято с пользователя', random_id=0)

    elif text.startswith('/banlist'):
        vk.messages.send(peer_id=message['peer_id'], message=f'Список забаненных: {ban_list}', random_id=0)

    elif text.startswith('/warnlist'):
        vk.messages.send(peer_id=message['peer_id'], message=f'Список предупрежденных: {warn_list}', random_id=0)

    elif text.startswith('/mutelist'):
        vk.messages.send(peer_id=message['peer_id'], message=f'Список замученных: {mute_list}', random_id=0)

    elif text.startswith('/kicklist'):
        vk.messages.send(peer_id=message['peer_id'], message=f'Список кикнутых: {kick_list}', random_id=0)

    elif text.startswith('/help'):
        vk.messages.send(peer_id=message['peer_id'], message='Список команд: /ban, /kick, /warn, /mute, /clear, /unban, /unmute, /unwarn, /banlist, /warnlist, /mutelist, /kicklist', random_id=0)

async def main():
    print("Бот успешно запущен!")
    while True:
        try:
            for event in longpoll.listen():
                if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
                    asyncio.create_task(handle_message(event))
        except Exception as e:
            print(e)
            continue

if __name__ == "__main__":
    try:
        asyncio.run(main())
    except Exception as e:
        print(f"Произошла ошибка при запуске бота: {e}")
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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