@merchfck

Как упомянуть определенного человека в беседе через vk api?

Допустим, я пишу в беседу, тогда бот отвечает, то есть если id = мой id, то messages.send
Наверное, нужно узнать id всех участников беседы
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

token = "тут токен"
vk_session = vk_api.VkApi(token = token)
longpoll = VkBotLongPoll(vk_session, 210290297)

for event in longpoll.listen():
	if event.type == VkBotEventType.MESSAGE_NEW:
		if event.from_chat:

			id = event.chat_id
			vk_session.method('messages.send', {'chat_id':id, 'message' : id2, 'random_id' : 0})
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
@Wearant
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import vk_api

token = "********"
group_id = "********"

vk_session = vk_api.VkApi(token = token)
longpoll = VkBotLongPoll(vk_session, group_id)
vk = vk_session.get_api()

def main():
    for event in longpoll.listen():
        if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
            user_id = event.message.from_id
            if "-" in str(user_id):
                pass
            else:
                  chat(event) 
                
def chat(event):             
    user_id = event.message.from_id
    chat_id = event.message.peer_id % 2000000000
    user_info = vk.users.get(user_ids=user_id)
    user_info = user_info[0]
    first_name = user_info["first_name"]
    id = event.chat_id
    vk.messages.send(
      message= (f"@id{user_id} ({first_name}), СООБЩЕНИЕ"),
      chat_id=chat_id, 
      random_id= 0
      )


if __name__ == '__main__':
    main()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы