Как узнать ID пользователя нажавшего inline кнопку под постом?
Как узнать ID пользователя нажавшего inline кнопку под постом?
У меня есть группа, под постами в этой группе есть кнопка «В закладки».
Посты в группу я добавляю через собственного бота.
Я хочу чтобы обычный пользователь через этого бота мог видеть свои закладки. Для этого мне нужно получить ID пользователя. Это вообще реально?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как узнать id пользователя под которым зашел в прогу?
System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта." .
Как узнать, из под какого пользователя запущена служба
У меня косячно работает служба Net Hasp Loader. Нужно узнать, ис под какого пользователя она.
Как убрать следующая/предыдущая запись под постом
Собственно вопрос в заголовке. Как убрать эту бяку?
Как получить всех пользователей, которые писали под постом в телеграме
Какую библиотеку использовать, чтобы просто получить инфу о всех пользователях под определенным.
Регистрация: 13.10.2022
Сообщений: 79
Хм, ну тут смотря что вы используете.
В Telebot есть функция:
message.from_user.id
if message.from_user.id not in users: users.append(message.from_user.id)
Дальше уже используйте это где вам нужно)
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Inline функции — на сколько должна быть маленькая функция, чтоб она подошла под inline?
Здравствуйте. Знаю теорию, но не понимаю, на сколько должна быть маленькая функция, чтоб она.
Как привязать inline кнопку к определённому сообщению
Пишу бота по приёму заявок в техсервис. Делаю функцию назначения исполнителя к для каждой заявки.
Как оставить комментарии под постом группы (не страницы) от имени страницы компании в Фейсбуке?
Я веду странице в фейсбуке, мне необходимо оставить коммент под постом группы от имени той страницы.
Telegram.Bot17.0.0 Как создать обработчик клика на inline кнопку?
Раньше можно было так Bot.OnCallbackQuery, сейчас не понятно что к чему. Как сделать.
Как заставить работать Inline кнопку в сообщении для отправки фото
Доброго! Проблема в том, что не могу понять, как заставить работать Inline кнопку. Код: .
Вывод определенных тэгов под каждым постом
Доброго времени суток уважаемые форумчане. Столкнулся с такого рода проблемой. Непонимаю как.
Выводятся все комментарии под каждым постом
Хочу вывести комменты под постами, но возникает трудность — под каждым из них выводятся все.
Или воспользуйтесь поиском по форуму:
Как из Telegram ID сделать Username — Python — Ответ 16304387
Всё круто, только мне надо было искать не userid а его ник, но с этим я вроде как разобрался, и ещё, как можно передавать в async функцию аргумент?
Добавлено через 4 минуты
Jabbson,
1 2 3 4 5 6 7 8 9 10 11 12 13
def TG_Finder1(message): user_id= str(message.text) async def find_user(username): return await client(GetFullUserRequest(username)) async def main(user_id): full = await find_user(user_id) print(full.user.username) with client: client.loop.run_until_complete(main(user_id))
Я пытаюсь их соединить с telebot и сделать так, чтобы я считывал из сообщения пользователя id, а затем по этому id находил человека
Меню пользователя @ Shipuchka_47 |
Как получить id пользователя через @упоминание в telegram?
Я хочу сделать бота модератора для чата в телеграм, но при написании кода сталкиваюсь с проблемой, что в js и python нет метода для получения юзера из упоминания. Например, мне нужно забанить пользователя, но единственный способ — это ответить на его сообщение. Есть ли какой-то способ получения id в aiogram через упоминание (@юзернейм) или какой можно использовать язык программирования и библиотеку для такой цели?
- Вопрос задан более года назад
- 1703 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 1
Совершенствуюсь каждый день
Чтобы получить id пользователя через упоминание в Telegram с помощью aiogram, вам нужно будет сначала извлечь упоминание из сообщения, а затем использовать метод resolve_peer клиента для получения id пользователя.
Вот пример того, как это можно сделать:
import re from aiogram import Bot, Dispatcher, types # Инициализируем бота и диспетчер bot = Bot(token='your_bot_token') dp = Dispatcher(bot) @dp.message_handler() async def handle_message(message: types.Message): # Извлекаем упоминание из сообщения mention = re.search(r'@(\w+)', message.text) if mention: # Получаем id пользователя через resolve_peer user_id = await bot.resolve_peer(mention.group(1)) # Теперь можем использовать user_id для выполнения нужных действий await message.reply(f'User ID: ')
Код написан довольно костыльно, не могу не согласится, но для примера сгодится.
Ответ написан более года назад
Uni0005 @Uni0005 Автор вопроса
user_id = await bot.resolve_peer(mention.group(1)) ^^^^^^^^^^^^^^^^ AttributeError: 'Bot' object has no attribute 'resolve_peer'
Какую версию aiogram вы используете?
Uni0005, забыл упомянуть, что resolve_peer нет в aiogram, для получения этой функции нужно использовать pyrogram. Но вы можете сохранять username пользователя в базу данных вместе с id, и при надобности извлекать эти значения.
Как получить ид пользователя по его упоминанию?
За готовыми рецептами надо обращаться на фриланс. Сюда надо приносить свою попытку решения, показать что ожидалось и что получилось. Тогда, возможно, помогут.
В данном виде это не вопрос, а задание, и может быть удален за нарушение п.5.12 Регламента.
Решения вопроса 0
Ответы на вопрос 2
Сисадмин, просто сисадмин.
В Bot API невомзожно получить id пользователя по его имени. Возможно только через получение события, с этим пользователем связанное (например, пользователь написал сообщение, пользователь вступил в группу где есть бот, итд). В полученной информации будет и id пользователя, и его username (только если он у пользователя есть).
Это можно обойти использованием клиентского API (библиотеки telethon, pyrogram). Но этот API выполняет запросы от реального пользователя Telegram, поэтому если злоупотреблять запросами, можно получить бан не бота, а прям своего живого аккаунта.
От себя рекомендую этой фигнёй не страдать, у Bot API есть свои понятные сценарии работы, и в рамках них id пользователя можно получить вполне легально именно тогда, когда это имеет смысл в рамках функциональности бота.