我可以将机器人状态数据存储在所涉及的电报聊天本身上吗?
Can I store bot state data on the involved telegram chat itself?
我正在尝试存储一些关于机器人在群组内的对话的数据(即机器人管理着一种基于文本的聊天室,我想保存 "world" 和 "stage" 该小组当时在),所以我想知道您是否可以将这一少量数据存储在聊天本身中(而不是将其保存在机器人服务器端*,这似乎 对于本应如此简单的事情)。
所以遵循这个 python 禅宗哲学,我试图找到一种 KISS 方式来存储这对值,也许在电报聊天本身中,这样我就不需要管理任何严肃的事情服务器端的数据库,以便对来自哪些聊天内容进行分类。
*我在 Flask 网络应用程序中使用 telepot 和 webhook。
所以...我只是想分享一下,我发现了一种非常荒谬但非常有效的方法(只要你不需要在那里存储私人数据,并且只有机器人 - 而不是玩家 - 可以弄乱聊天的描述)。
机器人可以通过命令 bot.getChat("@group_id")
和 .setChatDescription("@group_id","New desc")
检查和更改聊天的描述,因此您实际上可以在那里保存一个包含您需要的所有值的字符串,并在以后检索它们。
在暴露的情况下,我可以在描述中保存当前游戏级别,如"Level: 4"
,并随时通过以下方式检索:
desc = bot.getChat("@my_game_chat")["description"]
level = desc[7:]
在这种情况下,它也可以作为玩家的线索。
使用类似的方法,您可以同时在其中保存不同的东西,甚至可能只是将其作为一串没有标签的数字来掩盖它 "01-21-5493"
desc = bot.getChat("@my_game_chat")["description"]
world, stage, score = desc.split('-')
此外,如果您使用固定宽度的数字,您甚至可以在不相关的地方加入一些随机数字,以混淆任何可能的八卦。
PS: bot.getChat()
returns 这样的结构(这就是我们需要 ["description"]
的原因):
{
'id': -2424242424242,
'title': 'Channel Name',
'username': 'channelusername',
'type': 'channel',
'description': 'Pernils i tal'
}
我正在尝试存储一些关于机器人在群组内的对话的数据(即机器人管理着一种基于文本的聊天室,我想保存 "world" 和 "stage" 该小组当时在),所以我想知道您是否可以将这一少量数据存储在聊天本身中(而不是将其保存在机器人服务器端*,这似乎
所以遵循这个 python 禅宗哲学,我试图找到一种 KISS 方式来存储这对值,也许在电报聊天本身中,这样我就不需要管理任何严肃的事情服务器端的数据库,以便对来自哪些聊天内容进行分类。
*我在 Flask 网络应用程序中使用 telepot 和 webhook。
所以...我只是想分享一下,我发现了一种非常荒谬但非常有效的方法(只要你不需要在那里存储私人数据,并且只有机器人 - 而不是玩家 - 可以弄乱聊天的描述)。
机器人可以通过命令 bot.getChat("@group_id")
和 .setChatDescription("@group_id","New desc")
检查和更改聊天的描述,因此您实际上可以在那里保存一个包含您需要的所有值的字符串,并在以后检索它们。
在暴露的情况下,我可以在描述中保存当前游戏级别,如"Level: 4"
,并随时通过以下方式检索:
desc = bot.getChat("@my_game_chat")["description"]
level = desc[7:]
在这种情况下,它也可以作为玩家的线索。
使用类似的方法,您可以同时在其中保存不同的东西,甚至可能只是将其作为一串没有标签的数字来掩盖它 "01-21-5493"
desc = bot.getChat("@my_game_chat")["description"]
world, stage, score = desc.split('-')
此外,如果您使用固定宽度的数字,您甚至可以在不相关的地方加入一些随机数字,以混淆任何可能的八卦。
PS: bot.getChat()
returns 这样的结构(这就是我们需要 ["description"]
的原因):
{
'id': -2424242424242,
'title': 'Channel Name',
'username': 'channelusername',
'type': 'channel',
'description': 'Pernils i tal'
}