import vk_api
import time
import codecs
vk = vk_api.VkApi(login = 'log', password='pass')
vk.auth()
while True:
messages = vk.method('messages.getConversations', {'offset': 0, "count": 20, 'filter': 'unread'})
if messages["count"] >= 1:
id = messages['items'][0]['last_message']["from_id"]
body = messages["items"][0]['last_message']['text']
if body.lower() == "!crush":
for i in range(10):
file = open('f.txt')
f = file.read()
vk.method('messages.send', {'peer_id': id, 'message': f})
file.close()
elif body.lower() == "...":
vk.method('messages.send', {'peer_id': id, 'message': "..."})
else:
vk.method('messages.send', {'peer_id': id, 'message': "text"})
time.sleep(1)
Вот код, собственно. Он реагирует на команды, но "text" зацикливается, то есть если написать что-то левое бот будет спамить пока его не настигнет капча.
Бот, даже если ему дать команду в беседе, начинает писать в лс, очевидно, это из-за id, но я не знаю как это исправить, ибо занялся этим 2 дня назад, так что я вообще баклан, прошу помочь развёрнуто. В идеале нужно чтобы бот: реагировал на команды определённого человека в беседе, по команде начинал спамить и по команде останавливался, также чтобы принимал id пользователя, которому нужно наспамить в лс, это тоже только от 1-го человека. Спасибо, если кто поможет.