我想捕获将出现在电报频道中的所有消息,并使用机器人将它们转发到另一个频道。我有一个不会产生任何错误的代码,但是当消息出现在频道中时,机器人会保持沉默。
import aiogram
import asyncio
bot = aiogram.Bot(token=token)
dp = aiogram.Dispatcher()
from_chanel = from_chanel
to_chanel = to_chanel
class IsSourceFilter(aiogram.filters.BaseFilter):
async def __call__(self, message: aiogram.types.Message) -> bool:
return message.chat.id == from_chanel
@dp.message(IsSourceFilter())
async def forward(message: aiogram.types.Message):
await bot.send_message(chat_id=to_chanel, text=message.text)
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())
我尝试将 print 添加到 call 函数中,并等待电报频道发送消息以查看过滤器是否正常工作,但 print 甚至不起作用。
您只需使用
copyMessage
即可。