#telegram-bot #chat-bot #grin #cryptocurrency #mimble-wimble #blockchain

应用程序 grinbot

Grin 的 Keybase 和 Telegram 机器人

1 个不稳定版本

0.1.0-alpha.12020年1月11日

#chatbot 中排名第 9

MIT 许可证

150KB
1.5K SLoC

Grin 机器人

Grin 机器人是一个自托管的 Keybase 或 Telegram 机器人钱包,用于 Grin 比特币。您可以在自己的桌面硬件上运行 Grin 机器人,并通过智能手机控制它。

Mobile

入门指南

构建

Docker

git clone --branch v0.0.1 https://github.com/alexbyrnes/grinbot.git
cd grinbot
docker build -t grinbot .
docker run -it grinbot

从源码

git clone --branch v0.0.1 https://github.com/alexbyrnes/grinbot.git
cargo install --path grinbot --locked

从源码 — 无需安装

git clone --branch v0.0.1 https://github.com/alexbyrnes/grinbot.git
cd grinbot
cargo run

测试

cargo test --all

Rust 文档

cargo doc --no-deps --document-private-items --open --all

无需账户运行和交互

所有命令都可以在不使用 Keybase 或 Telegram 账户的情况下在本地执行。

grinbot -c "/help"

启动 Grin 钱包所有者 API

grin-wallet 目录下

grin-wallet owner_api

使用账户运行和交互

要求

  • Grin 钱包所有者 API。 仓库

Keybase

  • Keybase 桌面客户端和用于发布命令的移动客户端。 下载
  • 拥有带纸面密钥的 Keybase 账户。设备 --> "添加设备或纸面密钥" 或 命令行

Telegram

  • 拥有用户名的 Telegram 账户。 下载
  • 一个机器人实例。 说明 一旦您的机器人实例被 创建,您应该收到一条包含您的令牌的消息。在 config.yml 中输入令牌和您的用户名。

运行机器人

在包含 config.yml 和 logging.yml 的目录下运行 grinbot 启动机器人,或在仓库根目录下运行 cargo run

Keybase 打开 Keybase 客户端,与自己或与您的纸面密钥相关的用户名开始聊天。(密钥和用户名在 config.yml 中。)

Telegram 在安装了 Telegram 的设备或桌面上的 Telegram 中点击 Telegram 提供的链接。(链接以 https://t.me/ 开头。)您应该会收到一个提示,让您与机器人打开聊天。

输入并发送 /help 查看命令列表。

注意:最佳的错误排除信息来源是dockerfile,其中从头开始设置了一个包含Grin节点和钱包的完整机器人。

docker build -t grinbot .
docker run -it grinbot

命令

/create

在config.yml中指定的目录创建一个Grin钱包。 /send 0.001 http://some-recipient123.org 将Grin发送到指定的地址。 /balance _获取您的钱包当前余额。 /help 显示此帮助文本。

架构和安全

Keybase Keybase聊天是端到端加密的,机器人作为普通用户。Keybase提供的隐私保证与与其他用户聊天的保证相同。这些保证不包括防止您的纸面密钥丢失,或Grin Bot本身的问题,或外部库的问题。可以通过Keybase客户端撤回纸面密钥。

Telegram Grin Bot使用Telegram机器人长轮询接口。这意味着不需要外部可访问的IP或端口。Grin Bot将连接到Telegram,并使用您的令牌从专门为您的机器人实例设置的端点拉取新消息(称为更新)。要了解这是如何工作的,您可以访问https://api.telegram.org/bot<your api token>/getUpdates手动消费您发送给机器人的消息。这是Grin Bot轮询的地址。

发送到Telegram的唯一信息是聊天的内容本身——您发送给机器人的命令和它发送回的消息。命令和回复不包括密码或令牌。

注意:Telegram机器人流量不是端到端加密的,然而Telegram声称符合GDPR并能够删除消息。如果您使用Grin Bot的目的需要比这些更强的安全保证,则不应使用此版本的Grin Bot。

路线图

  • 命令别名
  • 确认对话框
  • grinbot init用于默认配置文件

贡献

欢迎贡献。请提交一个问题,或声明一个现有问题以增加可见性,并对develop分支提交PR。

依赖项

~72MB
~1.5M SLoC