Node.js 写的一个真随机数机器人 - 适用于瀑布 IM 服务拓展

2015-10-25 12:31:50 +08:00
 imdjh
> 前些时间尝试了瀑布 IM - 一个团队协作办公平台(我更喜欢自己给的这个定义,它集合了各种团队协作服务于一聊天室)
喜人的是,我看到了 hackable 的服务拓展,于是做了这么一个功能演示主题的聊天 bot 。

# 先来看看效果吧 ;)
![chat showbox][bot chat image]
使用基于关键词激发的服务, 使用基于关键词激发的服务,监听关键词,发送 RESTful 请求到 API
-----

# 怎么用?
## 1. 在服务器上直接安装&运行
```bash
npm install trbot-pubuim -g
```

## 2. 使用方便快速的 docker 镜像
```bash
docker pull imdjh/trbot-pubuim
docker run --name MyTrueRandomBot -d imdjh/trbot-pubuim
```

## 3. 我没有服务器
你真的很幸运,遇上免费 docker PaaS 的时代,而且本项目已 docker 镜像化。
如何使用服务商 DaoCloud ,参见这个[v2ex 帖子][owncloud V2EX url]。
将 hub 镜像名设置为 imdjh/trbot-pubuim 。[hub link][docker hub trbot url]


## 4. 我不想用 docker , show me your prod.
![setting pubuim service][setting shot of pubuim]
将示例站点`http://imdjh-true-number-bot.daoapp.io/`输入**回调地址**
-----

# 配置机器人
这个项目可以高度定制化(中二化)
通过传递**环境变量**给守护进程完成。

支持的环境变量以及对应解释如下。
- BOT_AVATAR # [ life.glider ] 机器人在桌面提示时的头像, URL 字符串。
- BOT_MSGPREFIX # [ I choose ] 机器人在返回随即数之前说的话,字符串。
- BOT_NAME # [ True Random Dice ] 机器人在聊天室里显示的名字,字符串。
- PULL_DELAY # [ 5000 ] 启动时检测随即池是否被填充的延时,单位毫秒
- TR_BUFFER # [ 50 ] 每次从 random.org 提取随机数的数量,数字。
- TR_BUFFER_CHECKLENGTH # [ 5 ] 每当随即池里的数少于此时,触发从 random.org 取随机数,数字
- TR_END # [ 6 ] 随机数的截止(包含),数字。
- TR_START # [ 1 ] 随机数的开始(包含),数字。
- VERBOSE # [] 除非设置为 yes ,否则不再 log 中输出 DEBUG 信息,任意。
---------

## 配置示例
![config example][config shot]
这个是`http://imdjh-true-number-bot.daoapp.io/`示例站点的的配置

[docker hub trbot url]: https://hub.docker.com/r/imdjh/trbot-pubuim/
[owncloud V2EX url]: http://v2ex.com/t/226531
[setting shot of pubuim]: http://i13.tietuku.com/2399602c22227142.png
[bot chat image]: http://i11.tietuku.com/5a2b598ce8a7e858.png
[config shot]: http://i11.tietuku.com/e746ddca6d72e9ad.png
5380 次点击
所在节点    分享创造
14 条回复
Moker
2015-10-25 13:01:08 +08:00
demo 404 了
风格是自己喜欢的 先收藏下
luoway
2015-10-25 13:01:30 +08:00
> RANDOM.ORG offers true random numbers to anyone on the Internet. The randomness comes from atmospheric noise, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs.

That's cool !
imdjh
2015-10-25 13:09:25 +08:00
@Moker 你好,可能是 daocloud 抽了?我现在测了,演示服务器`http://imdjh-true-number-bot.daoapp.io/`没问题
Moker
2015-10-25 14:37:27 +08:00
@imdjh 我福建电信 还是不行。。
matsuijurina
2015-10-25 14:50:49 +08:00
达扎克:我经历了亿万年的岁月,穷尽世间真理,追寻宇宙本源,终于在这个上帝不掷骰子的世界里找到了产生真随机数的方法,成为了多维宇宙的随机之神....然而....你居然把“随机”两个字打错了????!
trigged
2015-10-25 15:05:36 +08:00
怒赞
chairuosen
2015-10-25 15:15:08 +08:00
没明白,哪写着怎么真随机的原理了?
imdjh
2015-10-25 16:36:58 +08:00
@chairuosen 这个 Bot 用了 random.org 的 API 放到自己的缓冲池里面,只要 random.org 是真随机的,那么结果就是真随机的。
imdjh
2015-10-25 16:57:05 +08:00
@Moker 你好,刚才创建了一个瀑布 IM 的团队(聊天室),你可以试试看用这个内部链接注册:
https://true-rnd.pubu.im/reg/d32zrergp87gc6b

或者用这个测试帐号直接玩起(privileged)
goodaii@qq.com/321321a
imdjh
2015-10-25 16:58:31 +08:00
shyrock
2015-10-26 11:07:01 +08:00
进来看真随机数。。。
aksoft
2015-10-26 15:25:26 +08:00
真·草薙京
Kabie
2015-10-26 16:26:15 +08:00
...我就是来看看真随机实现。。。结果你告诉我用服务。。。
CYKun
2015-10-27 12:19:35 +08:00
RANDOM.ORG offers true random numbers to anyone on the Internet. The randomness comes from atmospheric noise, which for many purposes is better than the pseudo-random number algorithms typically used in computer programs.

用背景噪声生成随机数。。。总觉得好像不太靠谱

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/230888

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX