Задать вопрос
id_666i
@id_666i

Как сделать чтобы бот вк на питоне работал в беседе?

Только начал изучать ботов в вк, наговнокодил бота на питоне
Хочу чтобы он мог работать не только в личке с группой, а ещё и в беседе
Что для этого надо?
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)
  • Вопрос задан
  • 12289 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 6
TotalCommander
@TotalCommander
Студент, archlinux, c++, python
vk = vk_api.VkApi(token=api_token)
long_poll = VkBotLongPoll(vk, group_id)
vk_api = vk.get_api()

# api_token - API токен, который мы ранее создали
# group_id - id сообщества-бота

смотрим, что получилось

for event in self.long_poll.listen():
print(event)
Ответ написан
Комментировать
@sharkyyy3
while True:
try:
for event in longpoll.listen():
if event.obj.peer_id != event.obj.from_id:
#Ваш код
except:
print('ОШИБКА В ПРОСЛУШКЕ СОБЫТИЙ')
Важно дать админа боту в беседке
Ответ написан
Комментировать
@Killerqu00
Для работы с беседами необходимо использовать Longpoll или callback, советую именно Longpoll.
Документация
Метод
Ответ написан
@Runnin
Беседа по vk_api, вступай - https://vk.cc/8WE9bL
Советую делать на callback. В настройках группы указываешь, что можно добавлять бота в беседы. Версию бота ставь 5.80+. В беседе дай боту администратора. Теперь тебе на сервер будет прилетать примерно такой json
5c470c8fe5c39642462575.png
from_id - id человека
peer_id - id беседы
обработал сообщение, и отправил его в peer_id. Как-то так

Но для callback нужно иметь сервер или хостинг, да и питон на нем трудно запустить, поэтому советую присмотреться к этой библиотеке на php. И вот кстати в этой статье можешь посмотреть как настраивается callback
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы