@nesterso

Почему бот пишет в лс вместо беседы?

import vk_api
import json
from vk_api.longpoll import VkLongPoll, VkEventType
import time
import random

bot_id = 624759656 # айди вашего бота
token = "tok"
vk = vk_api.VkApi(token=token)
longpoll = VkLongPoll(vk)


def kick_user(user_id):
    vk.method("messages.removeChatUser",{'chat_id' : 59, 'peer_id' : 2000000000 + 59,'user_id' : id,'member_id' : id})
# if user_id == admin_id and mess_user = 'kick':

def mafia_zam_leader(user_id):
    vk.method('messages.addChatUser', {'chat_id' : 62, 'user_id' : id,'member_id' : id})
def mafia_zam_kurilka(user_id):
    vk.method('messages.addChatUser', {'chat_id' : 67, 'user_id' : id,'member_id' : id})
def mafia_zam_zabiv(user_id):
    vk.method('messages.addChatUser', {'chat_id' : 63, 'user_id' : id,'member_id' : id})

def sender_leader_maf(id,text):
    vk.method("messages.send", {'user_id' : id, 'message' : text, 'random_id' : 0, 'peer_id' : 2000000000 + 62, 'chat_id' : 62})
def sender_kurilka_maf(id,text):
    vk.method("messages.send", {'user_id' : id, 'message' : text, 'random_id' : 0, 'peer_id' : 2000000000 + 67, 'chat_id' : 67})
def sender_zabiv_maf(id,text):
    vk.method("messages.send", {'user_id' : id, 'message' : text, 'random_id' : 0, 'peer_id' : 2000000000 + 63, 'chat_id' : 63})

# Основной цикл

for event in longpoll.listen():


        # Если пришло новое сообщение
    if event.type == VkEventType.MESSAGE_NEW:

            # Если оно имеет метку для меня( то есть бота)
        if event.to_me:

                # Сообщение от пользователя
                request = event.text
        if event.from_chat:
                msg = event.text.lower()
                id = event.user_id
                invite_id = event.user_id

                # Каменная логика ответа
        if request == 'Заместитель мафии' and id != bot_id:
                    kick_user(event.user_id)
                    mafia_zam_zabiv(event.user_id)
                    sender_zabiv_maf(event.user_id, f'Новый заместитель мафий @{invite_id}, прочитай закреп')

Бот пишет в лс мне эти сообщения , а не в беседу. В чём трабл?. Если указал ид беседы
  • Вопрос задан
  • 168 просмотров
Решения вопроса 1
limontasher
@limontasher
Начинающий программист
У вас в функции
def sender_zabiv_maf(id,text):
    vk.method("messages.send", {'user_id' : id, 'message' : text, 'random_id' : 0, 'peer_id' : 2000000000 + 63, 'chat_id' : 63})

Указан 'user_id', тоесть отправляете в лс пользователю, для отправки сообщения в чат, нужно передавать id в 'chat_id'.

Ссылка на документацию: *ТЫК*
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:10
12000 руб./за проект
16 мая 2024, в 22:37
5000 руб./за проект
16 мая 2024, в 22:29
4000 руб./за проект