首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以将机器人状态数据存储在所涉及的电报聊天本身上吗?

我可以将机器人状态数据存储在所涉及的电报聊天本身上吗?
EN

Stack Overflow用户
提问于 2019-07-08 19:01:32
回答 1查看 1.5K关注 0票数 0

我试图在一个组中存储一些关于机器人对话的数据(例如,机器人管理着一种基于文本的聊天场景,我想保存这个组当时所处的“世界”和“阶段”),所以我想知道你是否可以将这些少量的数据存储在聊天本身中(而不是将其保存在机器人服务器端*,这对于应该如此简单的事情似乎是quite a lot of work的)。

因此,遵循这种python禅宗哲学,我正在尝试找到一种KISS方法来存储这两个值,可能是在电报聊天本身中,这样我就不需要在服务器端管理任何严肃的数据库来分类聊天内容的来源。

*我在Flask web应用程序中使用带有webhook的telepot。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-08 19:01:42

所以..。我只是想分享一下,我发现了一种非常可笑但非常有效的方法(只要你不需要在其中存储私人数据,并且条件是只有机器人-and而不是玩家-可以扰乱聊天的描述)。

机器人可以通过命令bot.getChat("@group_id").setChatDescription("@group_id","New desc")检查和更改聊天的描述,因此您实际上可以在那里保存一个包含所需所有值的字符串,并在以后检索它们。

在暴露的情况下,我可以将当前游戏级别保存在描述中,如"Level: 4",并通过以下方式随时检索它:

代码语言:javascript
复制
desc = bot.getChat("@my_game_chat")["description"]
level = desc[7:]

在这种情况下,它也可以作为玩家的线索。

使用类似的方法,您可以同时将不同的内容保存在那里,甚至可以通过将其作为没有标签的数字字符串"01-21-5493"来使其有点模糊

代码语言:javascript
复制
desc = bot.getChat("@my_game_chat")["description"]
world, stage, score = desc.split('-')

此外,如果你使用固定宽度的数字,你甚至可以在不相关的地方加入一些随机数字,以混淆任何可能的八卦。

PS:bot.getChat()返回这样的结构(这就是我们需要["description"]的原因):

代码语言:javascript
复制
{
'id': -2424242424242, 
'title': 'Channel Name', 
'username': 'channelusername', 
'type': 'channel', 
'description': 'Pernils i tal'
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56933499

复制
相关文章

相似问题

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