I
I
id_666i2019-01-20 14:52:08
Python
id_666i, 2019-01-20 14:52:08

How to make a VK bot on a python work in a conversation?

I just started to study bots in VK, nagovnokodil bot on python
I want it to be able to work not only in a personal with a group, but also in a conversation
What is needed for this?

import vk_api, time
vk = vk_api.VkApi(token='token')
vk._auth_token()

while True:
    messages = vk.method("messages.getConversations", {"offset":0, "count":20, "filter": "unanswered"})
    if messages["count"] >= 1:
        id = messages["items"][0]["last_message"]["from_id"]
        body = messages["items"][0]["last_message"]["text"]
        if body.lower() == "ку":
            vk.method("messages.send",{"peer_id": id, "random_id":0, "message": "дарова стасян"})
        else:
            vk.method("messages.send",{"peer_id": id, "random_id":0, "message": "непонел"}) or vk.method("messages.send",{"peer_id": id, "random_id":0, "message": "шо те надо"})
    time.sleep(1)

Answer the question

In order to leave comments, you need to log in

6 answer(s)
I
Ilya Evseenko, 2019-01-20
@TotalCommander

vk = vk_api.VkApi(token=api_token)
long_poll = VkBotLongPoll(vk, group_id)
vk_api = vk.get_api()
# api_token - API token we created earlier
# group_id - id of the bot community
see what happens
for event in self .long_poll.listen():
print(event)

S
sharkyyy3, 2019-03-17
@sharkyyy3

while True:
try:
for event in longpoll.listen():
if event.obj.peer_id != event.obj.from_id: #Your code
except
:
print('ERROR IN LISTENING TO EVENT')

S
sudo rm -rf /, 2019-01-20
@MaxLevs

Taken from here .
5c44615e4b33b989531188.png

K
Killerqu00, 2019-01-20
@Killerqu00

To work with conversations, you need to use Longpoll or callback, I advise Longpoll.
Documentation
Method

N
noob222, 2019-01-20
@noob222

watch this dude https://www.youtube.com/watch?v=oMoB8s7pGxY&t=1941s

K
Kirill Minovsky, 2019-01-22
@Runnin

Советую делать на callback. В настройках группы указываешь, что можно добавлять бота в беседы. Версию бота ставь 5.80+. В беседе дай боту администратора. Теперь тебе на сервер будет прилетать примерно такой json
from_id - id человека
peer_id - id беседы
обработал сообщение, и отправил его в peer_id. Как-то так
Но для callback нужно иметь сервер или хостинг, да и питон на нем трудно запустить, поэтому советую присмотреться к этой библиотеке на php. И вот кстати в этой статье можешь посмотреть как настраивается callback

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question