Добрый день! Хочу создать переменную которая будет получать id (имя) пользователя, который обратился к боту, но не понимаю как это сделать от слова совсем.
Старался делать по такому методу:
from vk_api import VkApi from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType vk_session = VkApi(token=’токен’) long_poll = VkBotLongPoll(vk_session, ‘айди группы’) for event in long_poll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: time.sleep(0.2) peer_id = event.obj[‘peer_id’] message = event.obj[‘text’].lower() if message == ‘ку’: vk.messages.send( user_id=event.user_id, peer_id=peer_id, message=’Бонжур!’ + full_name, random_id=get_random_id(), )
- Вопрос задан более двух лет назад
- 875 просмотров
Комментировать
Решения вопроса 1
def get_name(uid: int) -> str: data = vk.method(«users.get», )[0] return «<> <>».format(data[«first_name»], data[«last_name»])
Как вычислить бота — лайфхаки DW
full_name = get_name(тут юзер айди)
Ответ написан более двух лет назад
Нравится 5 9 комментариев
Дмитрий Квили, vk на vk_session поменяйте
WolfInChains, сменил, но всё равно ошибка.
Я же правильно всё делаю?
from vk_api import VkApi from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType import pytz import time from datetime import datetime from vk_api.utils import get_random_id tz_moscow = pytz.timezone(‘Europe/Moscow’) time_moscow = datetime.now(tz_moscow) print(«») print(«====================================») print(«Бот работает!») print(«») print(«The Bot by R_u_B_i_k») print(«====================================») send = » отправлено!» time.sleep(0.2) def main() -> None: vk_session = VkApi(token=’токен’) long_poll = VkBotLongPoll(vk_session, ‘айди группы’) vk = vk_session.get_api() def get_name(uid: int) -> str: data = vk.method(«users.get», )[0] return «<> <>».format(data[«first_name»], data[«last_name»]) fullname = get_name(1) for event in long_poll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: time.sleep(0.2) peer_id = event.obj[‘peer_id’] message = event.obj[‘text’].lower() if message == ‘ку’: vk.messages.send( peer_id=peer_id, message=’Здравствуй ‘ + fullname, random_id=get_random_id(), ) print(‘[INFO]’, time.strftime(«%H:%M:%S»), ‘отправлен ответ: приветствие’) if __name__ == ‘__main__’: main()
Глаз БОГА Бот самый Честный Обзор. Как Найти Человека
def get_name(uid: int) -> str: data = vk.users.get(user_ids= uid>)[0] return «<> <>».format(data[«first_name»], data[«last_name»])
Дмитрий Квили, > уберите, я не увидел
WolfInChains, извиняюсь, вы наверное не правильно прочитали вопрос. Мне надо сделать так, чтобы бот получал ID пользователя, который обратился к нему.
Т.е
на сообщение «Ку» он будет отвечать: «Здравствуй Лёша» (сообщение может изменяться в зависимости от имени профиля)
Дмитрий Квили, я вам дал функцию, которая возвращает имя, это уже вы передаёте не то айди профиля. Например в коде выше, вы указали в строке fullname = get_name(1) айди 1, естественно оно будет возвращать имя только для этого айди. Там нужно указать event.obj.from_id или что-то вроде того
Источник: qna.habr.com
Как узнать имя бота
Если имя бота неизвестно, то его можно найти в логах сервера. В них записаны все обращения к сайту, поэтому можно увидеть и нежелательные запросы.
Лог файл — файл с записями о каких-либо событиях. В нашем случае это посещения сайта и ошибки. Для получения журнала логов перейдите в панель управления.
Откройте панель управления вашей услугой:
- виртуальным хостингом vHost и Bitrix (инструкция),
- виртуальным сервером RED.Site (инструкция),
- выделенным сервером RED.Server (инструкция).
На виртуальном хостинге перейдите в «WWW» (1) → «Журналы» (2). На сервере «Мониторинг и журналы» → «Журналы WWW-запросов».
Выберите журнал посещений сайта — «ваш_домен.access.log» (3).
Для каждого домена (сайта) будут представлены свои лог файлы. Выделите нужный файл и нажмите «Просмотреть».
Результат откроется в новой вкладке. Теперь вы знаете имя бота и сможете заблокировать сайт от его посещений.
Источник: reddock.ru
Lepzon.ru
Номер или как его называют в сети – идентификатор (ID) в Телеграме есть у всех пользовательских аккаунтов и даже у групп. Мы подготовили для вас небольшое руководство, в котором описали процесс его определения и то, как его использовать в своих целях.
Что означает ID в Телеграме
Наверняка вам не раз приходилось слышать об ID – это уникальный номер, который обычно присваивается аккаунтам в социальных сетях. Для простого пользователя он мало что значит. Но его регулярно используют программные механизмы «внутри» соцсети, а также поисковые роботы. В Телеграме ID – это такой же идентификатор пользователя, он может пригодиться при «общении» с местными ботами.
Так как сами боты являются отдельными независимыми сущностями, они тоже носят свой идентификатор. Часто айди ищут для того, чтобы «скормить» боту и через него найти важную информацию.
Как определить чужой ID в Телеграме
Присмотревшись к функциям мессенджера, внешне он ничем не отличается от других приложений для общения – чат, возможность позвонить по VoIP, контакты (друзья). Но есть одна особенность, которая выделяет Telegram из общей массы – это боты. С ними мы можем искать информацию, скачивать файлы, редактировать изображения и, оказывается, искать информацию о других людях. Чтобы определить ID другого человека в Телеграме, обратитесь к боту.
В ответном сообщении бот отправит для вас идентификатор этого человека в переписке. Нажмите сообщение с ID на несколько секунд чтобы его скопировать.
Как посмотреть свой User ID в Telegram
Через компьютер можно увидеть свой идентификатор при помощи папки Saved Message или Избранное. Также веб-клиент показывает чужие ID, в том числе для групп и ботов. Работает это в K, Z версиях, но некорректно в OLD (подробнее о K, Z). Зайдите в ТГ через браузер и выберите свой чат Избранное кликом мыши. В адресной строке после знака # вы сможете увидеть ID.
Выберите другой контакт, и его айди также появится в строке. Если в каких-то случаях это не работает, используйте следующий вариант.
Этот бот также может показать для вас идентификатор любой открытой группы в приложении. Для этого используйте другую команду в чате – /getgroupid. Далее перейдите в группу и перешлите из неё боту любое сообщение или пост. Он может скопировать для вас айди другого человека этим же способом – перешлите к нему в чат сообщение.
ID официального канала Telegram – 777000.
Как добавить имя пользователя в Телеграме
Кроме номера телефона в приложении можно указать имя пользователя, не никнейм. Оно будет работать как визитка, достаточно показать ссылку на ваш страницу вида: tg.me/username и по ней можно будет вас найти. Имя заменит ваш ID, поэтому оно тоже должно быть уникальным. Откройте Телеграм и нажмите изображение профиля, под ним выберите Имя пользователя и напишите в новой строке.
Имена в мессенджере удаляются вместе с профилями, которые долго не используются. Есть некоторые особенности этих имён, о которые вы должны знать.
- После регистрации имени в Телеграм вас смогут находить по нему и отправлять сообщения даже те, кого нет в ваших чатах. Можно изменить в настройках конфиденциальности;
- Вместо обычного общедоступного имени устанавливается номер телефона с кодом страны. В таком случае к вам в чат тоже смогут писать незнакомцы, но только в случае, если в настройках включена функция поиска по номеру;
- Для создания имени используются только буквы и числа, символы писать нельзя, кроме нижнего подчёркивания;
- Если к вам в чат Телеграм добавятся по ID или имени пользователя, они всё равно не увидят номер телефона и другую скрытую информацию о вас;
- Имя можно удалить в настройках. Откройте свой профиль и выберите его, вместо текущего имени оставьте пустое место и сохраните.
В настройках конфиденциальности можно сделать так, чтобы никто не узнал ваш числовой ID Telegram.
Интересное о Telegram:
- Как отправить фото с текстом в одном сообщении;
- Значение галочек в Telegram;
- Как пользоваться Телеграмом на компьютере.
Источник: lepzon.ru