Nubwer 2k19 Asked:2024-10-27 03:48:12 +0000 UTC2024-10-27 03:48:12 +0000 UTC 2024-10-27 03:48:12 +0000 UTC 通过机器人实现消息回复(电视节目) 772 我正在尝试编写一个机器人,它会向用户发送电报频道参与者列表以响应消息。我想在与机器人的聊天中实现它,但我没有找到合适的方法。有没有办法回复通过电视马拉松库发送到机器人的消息?或者我需要使用不同的库吗? python 1 个回答 Voted Best Answer Ben Puls 2024-10-27T13:02:08Z2024-10-27T13:02:08Z Telethon库更专注于使用可用的 Telegram API 来自动处理用户帐户的工作,而 Telegram 政策并不鼓励这样做。此类帐户也称为用户机器人或自助机器人。要专门创建机器人,您可以考虑使用其他库。 在aiogram中,如果您想要异步实现,有一种方法可以计算聊天或频道中的参与者数量,为此它需要适当的权限。为此,使用该方法get_chat_member_count() from aiogram import Bot, Dispatcher, types from aiogram.filters import Command import asyncio channel_id = '-100...' token = "token" dp = Dispatcher() bot = Bot(token) @dp.message(Command('get_users')) async def get_users(message: types.Message): chat_id = message.chat.id members = await bot.get_chat_member_count(chat_id) await message.answer(f"Количество участников в чате: {members}") async def main(): await dp.start_polling(bot) if __name__ == "__main__": asyncio.run(main()) 使用远程机器人库(pyTelegramBotAPI )进行类似的实现: import telebot channel_id = '-100...' token = "token" bot = telebot.TeleBot(token) @bot.message_handler(commands=['get_users']) def send_welcome(message): members = bot.get_chat_member_count(channel_id) bot.send_message(message.chat.id, f"Количество участников в чате: {members}") bot.infinity_polling() 但不幸的是,当前的 Telegram API 文档提供了从所有参与者获取其他数据的能力id。
Telethon库更专注于使用可用的 Telegram API 来自动处理用户帐户的工作,而 Telegram 政策并不鼓励这样做。此类帐户也称为用户机器人或自助机器人。要专门创建机器人,您可以考虑使用其他库。
在aiogram中,如果您想要异步实现,有一种方法可以计算聊天或频道中的参与者数量,为此它需要适当的权限。为此,使用该方法
get_chat_member_count()使用远程机器人库(pyTelegramBotAPI )进行类似的实现:
但不幸的是,当前的 Telegram API 文档提供了从所有参与者获取其他数据的能力
id。