4个版本
0.1.3 | 2023年10月31日 |
---|---|
0.1.2 | 2023年10月25日 |
0.1.1 | 2023年10月20日 |
0.1.0 | 2023年10月17日 |
在 游戏 中排名 87
37KB
669 行
Pravda:社交网络的社交游戏。
这是一个功能性的机器人包,您可以使用它连接到Mastodon服务器(或提供类似API的服务器)以运行社交游戏。目前它可以用来玩剪刀石头布或掷骰子。代码是模块化编写的,因此添加新游戏相对容易。
Game trait定义了游戏的行为,包括用于设置的关联方法new,以及接收用户推文并负责推进游戏状态的方法next。每个游戏都会收到每条消息,并且必须能够丢弃与它无关的任何内容。
有一些常量可以远程使用推文关闭机器人。ADMIN包含管理账户,QUIT包含退出消息,必须以提及机器人的方式发送,而INSTANCE包含要连接的实例的URL。目前,它默认使用我的fedi账户,并使用消息!QUIT!,但在部署时您应该进行自定义。默认实例是botsin.space,一个适合机器人的实例,但如果您想在其他地方运行它,则应更改此设置。
请注意,在尝试授权机器人之前,您必须在实例上拥有有效的账户。
首次运行。
确定您想执行游戏的位置,并确保您有写入权限。游戏将连接到实例并尝试建立OAuth流程,要求您访问链接并使用您的Mastodon/fedi账户授权应用程序。
完成此操作后,信息将写入到toml文件中,该文件应该保持私有,因为它包含一个令牌,允许对授权的账户几乎完全控制。
在后续运行中,如果遇到此文件,则将从其中读取信息并建立连接,无需人工干预。
限制。
目前无法将此客户端连接到GoTosocial。Mastodon-async不使用fedi的WebSocket端点进行流传输,而是使用SSE端点。GoToSocial仅实现了流操作中的WebSocket端点。
当然,它支持HTTP和HTTPS,默认通过rustls-tls使用。您可以通过修改Cargo.toml中的功能将其更改为OpenSSL。
未来的目标。
我对实现任何类型的社交游戏感兴趣,这里所说的社交游戏是指那些涉及社交互动、欺骗、预测等游戏。具体来说,我感兴趣的游戏如下:
- [恶作剧](https://en.wikipedia.org/wiki/Spoof_(game\))(正在spoof分支上进行开发)。
- 囚犯困境.
- 毛毛虫游戏.
- 公共物品博弈.
- 旅行者困境.
- 最后通牒博弈.
- 独裁者博弈
- [黑手党](https://en.wikipedia.org/wiki/Mafia_(party_game\))。
- 独特最低报价。
- 猜2/3的平均值。
- 预测判决。
其中一些游戏需要更有趣的名字。
在fedi上运行一个nomic会很棒,但这超出了机器人本身的能力范围。
错误报告、功能请求、代码贡献以及其他反馈。
如果您想告诉我有关该仓库的信息,最佳方式是:
- 我的fedi账户,@[email protected]。
- 项目的fossil仓库。
- 如果您必须,请通过modulus at isonomia dot net给我发电子邮件。
变更日志。
- V 0.1.3:可以使用dice命令掷骰子,接受ndm可选参数。
- V 0.1.2:为流式API失败的情况设置指数退避系统。各种错别字更正。
- V 0.1.1:在toot流中设置一个循环,以防出错。
- V 0.1.0:初始发布。
依赖项
~15–28MB
~506K SLoC