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}")