0

グループ内のボットの会話に関するデータを少し保存しようとしています (つまり、ボットは一種のテキストベースのチャット スケープ ルームを管理しており、グループがどの「世界」と「ステージ」にいるかを保存したいと考えています)。時間)、そして、この少量のデータをチャット自体に保存できるかどうか疑問に思っていました(ボットサーバー側に保存するのではなく*、非常に単純なはずの何かのためにかなりの作業が必要に思えます).

したがって、この python zen の哲学に従って、分類するためにサーバー側で深刻なデータベースを管理する必要がないように、おそらく電報チャット自体にその値のカップルを格納する KISS の方法を見つけようとしています。どのチャットから来たか。

*Flask Web アプリで Webhook を使用してテレポットを使用しています。

4

1 に答える 1

0

だから...私は、非常にばかげているが非常に効果的な方法を見つけたことを共有したかっただけです(そこに個人データを保存する必要がなく、ボットのみであり、プレーヤー - チャットの説明を台無しにすることができます)。

ボットはコマンド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()のような構造を返します (これが が必要な理由です["description"]):

{
'id': -2424242424242, 
'title': 'Channel Name', 
'username': 'channelusername', 
'type': 'channel', 
'description': 'Pernils i tal'
}
于 2019-07-08T11:01:42.067 に答える