如何解决电报:无法使用TelegrafNodeJs将消息/照片发送到频道
我会使用telegraf在电报频道上发送一条消息。我邀请了该漫游器并让他成为管理员。
我已经使用以下代码进行了测试:
bot.on('text',(ctx) => {
// Explicit usage
ctx.telegram.sendMessage(ctx.message.chat.id,`Hello ${ctx.state.role}`)
// Using context shortcut
// ctx.reply(`Hello ${ctx.state.role}`)
})
bot.launch();
但是只有当我私人写信时,它才会回复。 那么,为什么它在频道上不起作用? 比起没有命令我该如何在该频道中发送消息呢? (例如with和interval?
我尝试这个:
bot.use((ctx) => {
console.log(ctx.message)
})
当我在与他的私人聊天中使用该漫游器时,它将返回所有消息数据。在频道上,我收到未定义
解决方法
在您的情况下,CTX具有当前的聊天信息,如果您想向频道发送消息,请提供Telegraf sendMessage中记录的正确ID:
telegram.sendMessage(process.env.TELEGRAM_CHANNEL,ctx.message.text);
我在公共频道上使用漫游器,因此我的情况是:
TELEGRAM_CHANNEL=@MY_PUBLIC_CHANNEL_NAME
在频道信息设置t.me/MY_PUBLIC_CHANNEL_NAME
中可以使用频道名称
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。