首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >气造电报机器人:接回机器人

气造电报机器人:接回机器人
EN

Stack Overflow用户
提问于 2022-02-09 15:10:53
回答 2查看 390关注 0票数 0

我写了一个关于煤气的机器人,可以从电报中读到/写到谷歌的一张纸上。我使用了web钩子方法。我可以用/read <args>/write <args>来称呼机器人。然而,技术水平较低的人无法理解争论的原理.所以我想做一个像僵尸一样的对话机器人。如果/read/write被发送了,那么机器人就会一个接一个地向pm询问论点。“PM中的回复”部分很简单,但我不知道如何才能捕捉到对论点的答复。

据我所知,每次向机器人发送命令时都会调用函数doPost,这会带来交互性问题,并且需要一个斜线--某种命令来运行脚本而不是纯文本回复(而且由于GAS数据不稳定,存储变量以知道机器人应该执行第二个操作也是不可能的)。

  • 是否可行?
  • 是否应该切换到轮询/ getUpdates方法?我猜它可以这样工作,在没有回复的情况下超时退出脚本,但我也猜测PM聊天应该设置为“无隐私”模式。或者这是机器人?

的固有特性。

任何帮助都很感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-10 18:42:40

因此,GAS确实提供了一个不太容易挥发的存储: CacheService.getScriptCache() (也参见https://developers.google.com/apps-script/reference/cache/cache)。

原理很简单:将您想要持久的变量存储在缓存中(可选,也可以设置一个超时-默认值为10分钟),并在脚本再次调用时获取值。我发现了一个帮助我理解如何使用它的项目:https://github.com/Milleus/tessara/blob/master/Code.gs

用几句话来说:语法是cache.put(key, value)来存储值,而value=cache.get(key)是把它取回来。

它的优点是所有必需的变量(如果不止一个)都可以存储在一个对象中,键可以是“用户”的唯一标识符,而值是字符串化的对象。

在我的例子中,我能够构建一个完全对话的电报机器人(与BotFather完全一样,但适用于我的使用)。使用发送消息给bot的用户的id作为密钥,脚本可以同时为多个用户“并行”运行。

票数 0
EN

Stack Overflow用户

发布于 2022-02-09 18:43:40

doGet和doPost是跟随web应用程序url调用的函数。如果您使用像UrlFetchApp这样的工具来访问它们,甚至可以使用Http请求(如果您可以处理oauth ),您可以将它们作为api使用。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71052069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档