我创建了一个Django应用,它将应用程序从特定通道转发消息到某些通道。我称他们为经纪人。我的问题是,对于我的两个通道,转发的消息没有发送到电报服务器。实际上我没有任何错误,我在控制台上看到了
味精前转至目标频道....
,但不显示在频道上。这个问题将在工作几个小时后出现,并且仅在我的两个频道(其他频道正常工作)中显示。为解决此问题,我重新启动了Django应用。当我重新启动应用程序时,这很有趣,所有未在频道中显示的已发送消息都将进入频道。如何调试或解决此问题?
@client.on(events.NewMessage)
async def my_event_handler(event):
chat = await event.get_chat()
sender = await event.get_sender()
brokers = Broker.objects.all()
for broker in brokers:
for source in broker.source_channels.all():
if source.username == sender.username:
for dest in broker.destination_channels.all():
if source.username == dest.username:
continue
try:
print('msg forw to dest cahnnel: {} at time: {}'.format(dest.username, timezone.now()))
await event.forward_to(dest.username)
except:
print('error, dest channel is: {}'.format(dest.username))
pass
client.start()
client.run_until_disconnected()