Этот вопрос закрыт для ответов, так как повторяет вопрос Бот должен отвечать только определенному пользователю?
@Electr1k

Нужен код для сортировки id вк?

Написал бота для вк на питоне.
Вот код:
from tkinter import *
import pyautogui as pg
import pyautogui
import time
import vk_api
from vk_api.longpoll import  VkLongPoll, VkEventType
window = Tk()
window.iconbitmap("zbot.ico")
token = *скрыт*
vk_session = vk_api.VkApi(token=token)
vk = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
upload = vk_api.VkUpload(vk)
user_id_k = *скрыто*
while True:
   for event in longpoll.listen():
       if event.type == VkEventType.MESSAGE_NEW:
          if event.to_me:
              msg = event.text.lower()
              if msg == '!старт':
                 pg.click(220, 1030)
                 time.sleep(0.1)
                 pg.doubleClick(216, 538)
                 time.sleep(0.1)
                 pg.click(1564, 9)
                 vk.messages.send(user_id=user_id_k, message='Запущена!', random_id=0)
              elif msg == '!стоп':
                  pg.click(button='right', x=74, y=1032)
                  time.sleep(0.7)
                  pg.click(75, 989)
                  vk.messages.send(user_id=user_id_k, message='Остановлена!', random_id=0)
              elif msg == '!скрин':
                  screen = pyautogui.screenshot('im.vk.png')
                  photo = upload.photo_messages('im.vk.png')
                  owner_id = photo[0]['owner_id']
                  photo_id = photo[0]['id']
                  access_key = photo[0]['access_key']
                  attachment = f'photo{owner_id}_{photo_id}_{access_key}'
                  vk.messages.send(peer_id=user_id_k, random_id=0, attachment=attachment)
              else:
                  vk.messages.send(user_id=user_id_k, message='Не знаю такого!', random_id=0)

Бот при получении определенного сообщения кликает в определенную точку экран.
Суть в том, что если кто-то напишет боту одну из команд, то бот её выполнит и отправит в сообщении отчет(в коде прописано). Так вот, как сделать так, что бы бот отвечал только на мои сообщения, то есть если ему напишет несколько людей(или один) он должен найти среди них только меня и читать только диалог со мной(выполнять команды из диалога). Поразмыслив пришел к тому, что бот должен сравнивать айди пользователя написавшего сообщение и мой айди, если айди сходятся выполнять команды, иначе игнорировать. Может есть какая-нибудь библиотека для этого?
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
WolfInChains
@WolfInChains
Вам же ответили в предыдущем вашем вопросе - сравнивать ваш айди с айди отправителя. Для этого еще какая-то библиотека не нужна, вы уже используете vk_api, которая возвращает айди отправителя.
if event.user_id == ваш айди:
    #выполняем код

Либо
if event.from_me:
    #выполняем код

Но второй вариант подходит только если вы отправляете команду со страницы бота
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@66demon666
По навыкам джун - по факту безработный
Ох уж эти программисты)
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы