V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
imdjh
V2EX  ›  分享创造

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

  •  1
     
  •   imdjh · 2015-10-25 12:31:50 +08:00 · 5569 次点击
    这是一个创建于 3320 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前些时间尝试了瀑布 IM - 一个团队协作办公平台(我更喜欢自己给的这个定义,它集合了各种团队协作服务于一聊天室)

    喜人的是,我看到了 hackable 的服务拓展,于是做了这么一个功能演示主题的聊天 bot 。

    先来看看效果吧 ;)

    chat showbox

    使用基于关键词激发的服务, 使用基于关键词激发的服务,监听关键词,发送 RESTful 请求到 API

    怎么用?

    1. 在服务器上直接安装&运行

    npm install trbot-pubuim -g
    

    2. 使用方便快速的 docker 镜像

    docker pull imdjh/trbot-pubuim
    docker run --name MyTrueRandomBot -d imdjh/trbot-pubuim
    

    3. 我没有服务器

    你真的很幸运,遇上免费 docker PaaS 的时代,而且本项目已 docker 镜像化。

    如何使用服务商 DaoCloud ,参见这个v2ex 帖子

    将 hub 镜像名设置为 imdjh/trbot-pubuim 。hub link

    4. 我不想用 docker , show me your prod.

    setting pubuim service

    将示例站点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
    这个是http://imdjh-true-number-bot.daoapp.io/示例站点的的配置

    第 1 条附言  ·  2015-10-25 13:08:00 +08:00

    使用npm install -g trbot-pubuim后,用trbot-pubuim启动服务器,前面可以加环境变量。如:

    VERBOSE=yes BOT_NAME=gud trbot-pubuim

    第 2 条附言  ·  2015-10-25 16:37:42 +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.

    这个 Bot 原理是用了 random.org 的 API 放到自己的缓冲池里面,只要 random.org 是真随机的,那么结果就是真随机的。

    第 3 条附言  ·  2015-10-25 17:02:04 +08:00

    刚才创建了一个瀑布 IM 的团队,大家可以用这个内部链接注册到团队里调戏 TR 机器人:
    https://true-rnd.pubu.im/reg/d32zrergp87gc6b

    或者嫌麻烦的话,用 [email protected]/321321a登录到团队开 ROLL !

    第 4 条附言  ·  2015-10-25 17:14:53 +08:00

    感谢 @matsuijurina 提出,把大神的名字打错了,已在演示服务器中改正,再次谢谢!
    演示服务器 Update: 增加中二度,使语句通畅。

    update demo API shot

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

    或者用这个测试帐号直接玩起(privileged)
    [email protected]/321321a
    imdjh
        10
    imdjh  
    OP
       2015-10-25 16:58:31 +08:00
    shyrock
        11
    shyrock  
       2015-10-26 11:07:01 +08:00
    进来看真随机数。。。
    aksoft
        12
    aksoft  
       2015-10-26 15:25:26 +08:00
    真·草薙京
    Kabie
        13
    Kabie  
       2015-10-26 16:26:15 +08:00
    ...我就是来看看真随机实现。。。结果你告诉我用服务。。。
    CYKun
        14
    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.

    用背景噪声生成随机数。。。总觉得好像不太靠谱
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1425 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.