Skip to content

Instantly share code, notes, and snippets.

@KenOokamiHoro
Last active September 2, 2019 03:35
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KenOokamiHoro/7439e7fc4dd289925e913f8e47aab34d to your computer and use it in GitHub Desktop.
Save KenOokamiHoro/7439e7fc4dd289925e913f8e47aab34d to your computer and use it in GitHub Desktop.
Arch Linux 中文社区交流群机器人说明书(待补完)

Arch Linux 中文社区交流群机器人说明书

  • 请勿滥用机器人指令。
  • 如果你想加入你自己的机器人,欢迎先来 #archlinux-cn-bot 测试。

中文社区频道的跨 IM 机器人

桥接机器人(用于不同 IM 间转发消息)

  • tg2arch、tg2offtopic、tg2game、tg2bot 用于 Telegram 和 IRC 间的相互转发。
  • xmppbot 和 offbot 用于 IRC 和 XMPP 间的相互转发。

形如 [tg2arch][JohnSmith] 的形式表示 Telegram 后昵称为 JohnSmith 的用户发送的消息。其他侧亦然。

在 IRC 侧可以使用的命令:

  • \last :返回由 Telegram 用户回复 IRC 用户的最后一条消息。

HoroBot (IRC) / @yoitsuhorobot (Telegram)

作者: FiveYellowMice

源代码: https://gitlab.com/FiveYellowMice/horobot2/tree/master

A bot used to try to become Horo, but now it has evolved. 😂 😋 🤷

只在 #archlinux-cn-offtopic 可用。

来自某不知名地方的提醒:当聊天进行时请勿滥用以免发生各种意外~ 🤤(口水声)

命令操作

  • 在 IRC 上,可以通过 horo/<command>HoroBot: /<command> 来使用
  • 在 Telegram 上,可以通过 /<command>@yoitsuhorobot 来使用

下列均用 /<command> 表示对应的指令。

  • /status

    返回一些状态信息,例如阈值和随机发送的 Emoji 列表。

  • /poi [text]

    返回带有所输入的文本的图片。如果没有提供文本,则返回 "Poi!"

  • /speak

    返回一句看起来像是胡言乱语的话。

关键字操作

当消息中含有相应的关键字时会触发的操作

  • 🍎

    具体效果请自行尝试。

自动执行的操作

这些操作会根据不同的条件不定期自动执行。

  • 当群内在一段时间内发送了一定数量的消息后,会随机发送一些 Emoji。

    • 影响发送的参数有两个,阈值(threshold)和冷却速度(cooling_speed)。可以通过 /set_<arguement> 命令设置。 例如将阈值设置为 300: /set_threshold 300

    • 要改变随机发送的 Emojis 的列表,使用 /add_emoji/rem_emoji 命令。例如添加 😋 到列表: /add_emoji 😋

    • 当然如果汝愿意的话 /force_send 可以现在就随机选择一种 Emoji 来发送。

中文社区频道的 IRC/XMPP 机器人

xmppbot 中的 Lisa

作者:lilydjwg

Lisa 的命令主要分为 3 类

  1. 直接与 Lisa 对话(需要用 ':' 分隔内容与 Lisa 的名字) 例如: Lisa: 北京天气
  2. 以 '!' 为前缀的命令 例如: !aqi 北京
  3. 直接输入命令 例如: 割一下

直接对话命令

  • 如果对话不是命令列表中的内容,那么会触发 Lisa 的对话功能

  • 如果对话不是命令了列表中的内容,并且是英文,则会触发 Lisa 的翻译功能,Lisa 也会自动将上一条消息中的日语翻译为中文

  • 查询天气

    Lisa: XX天气
    

    XX 为中文城市名称,例如 Lisa: 北京天气

  • 讲笑话

    Lisa: 笑话
    

    讲一个冷笑话

带有前缀的命令

  • 帮助命令

    !help
    

    发送一个 LisaHelp 的链接: https://github.com/ZWindL/LisaHelp/blob/master/README.md

  • 查询空气质量

    !aqi { cityname|zip code }
    

    查询相应城市的空气质量,其中 cityname 为地名,语种任选

  • 查询维基百科 !{lang}wiki <entry> , lang 为语种的 ISO 639-1 语言代码(目前支持英文("en")、中文("zh")和日文("ja"))。例如查询中文维基百科名为 Arch Linux 的条目:

    !zhwiki Arch Linux
    

    会返回对应条目的导言部分和链接。

  • 查询 arch wiki

    !wiki entry
    

    查询 arch wiki 中相应的词条,只在 #archlinux-cn 频道响应此命令

  • 查询 ip 归属地

    !ip ip_addr
    

    返回 ip_addr 所在的粗略地理位置, 暂不支持 ipv6

  • idea generator

    !idea
    

    无参数返回一条 ideaGenerator 的话语

直接触发的命令

不建议在 #archlinux-cn 过分使用。

  • fortune

    lisalisa
    

    不需要参数 ,返回一条发人深省的内容

  • 讲段子

    割一下
    

    从糗事百科抓取一条段子,每两次抓取之间有一定的冷却时间

自动触发的命令

  • 网站标题

    当发送的消息含有链接时会自动解析网页并发送回标题或文件类型。

  • Arch Linux CN Teeworlds Server 上下线提醒

    当有人连接(或断开连接)Arch Linux CN 的 Teeworlds Server 时会发送玩家的名称到 频道,只在 #arxhlinux-cn-offtopic 生效。

varia

作者:gauge 源代码:https://github.com/renormalizable/ircbot

在频道中发送 'help 可以获取 varia 的命令列表,发送 'help 命令名称 可以获取 这个命令的用法,例如:

'help google
varia: <...> is mandatory, [...] is optional, (...) also accepts multiline input
varia: google: google (query) [#max number][+offset]

文档待补全 #flag

中文社区频道的 Telegram 机器人

@ArchCNAntiSPamBot

作者:

源代码:

防止垃圾信息刷屏的机器人。会在新用户加群时提示用户点击按钮完成验证,并自动封禁视图添加其它机器人的用户。

@wheeeel_todobot

作者:VOID001 a.k.a Poi&YoshinoP

源代码:https://github.com/VOID001/todobot

A TODOBot powered by archlinux and golang, made with love by VOID Shana(a.k.a VOID001).

支持下列命令:

  • /todo /todo Task content##<enroll_count>,Task content##<enroll_count>...

    添加 TODO 任务,可以批量添加,通过英文逗号","分割。 并且支持设置该 TODO 的参与人数,设置方式为: /todo blablabla##<count>

  • /ping /ping

    检查机器人的可用性并且会通过 "一言" API 返回一个动漫名句

  • /list /list ["done", "all"] OR /list

    默认列出当前群组内所有未完成的任务,可以通过增加参数 all,done 列出所有任务,和所有完成的任务 (目前没有分页所以在任务特别多的 Chat 里会刷不出来全部任务消息 QAQ)

  • /done /done <TaskID> OR /done OR /donex<TaskID>

    完成任务,如果当前用户正在该群组内 workon 某一个任务,则该任务会被标记为完成。 如果用户没有在该群组内 workon 某一个任务,则会弹出 Reply Keyboard Button 即消息回复按钮,用户可以选择任务 ID 进行完成。也可以通过 /done <TaskID> 的形式直接完成某一个任务, 还可以点击 /list 中出现的 /donex<TaskID> 直接完成某一个任务。

  • /track /track ["on", "off"] 设置机器人跟踪状态,当你在群组中使用机器人时,默认会追踪你的 username & display name, 追踪的信息将可能被公开展示(如 ranklist, 统计信息等)。使用 /track off 即可关闭追踪, 并且将 username & display name 都设置为 "HIDDEN BY USER" , 再次输入 /track 或者 /track on 即可开启追踪 (不过 userID 是必须记录的啦,不然波特就无法工作了呢)

  • /workon /workon <TaskID>

    开启摸鱼保护模式,可以通过 /workon <TaskID> 或者点击 /todo 返回结果下面的按钮 (限 Telegram)对任务开启摸鱼保护模式,进入该模式之后, 如果用户出现在含有该 bot 的群里(包括发消息,发图片等行为), bot 会对摸鱼行为进行提醒(如果任务为 "睡觉", "休息", "sleep" 则会提醒用户去休息), 每 30s 提醒一次,并且每条消息都会被记录为一次 "摸鱼",无论 bot 是否提醒用户。在用户完成该任务时, 会统计用户的工作时间,以及摸鱼次数,有效工作时间等信息,其中工作时间会发送到群组内, 有效工作时间和摸鱼次数则通过私聊的形式发送给用户 使用本功能前请至少私聊过一次 BOT

  • /rank /rank [count] OR /rank

    显示完成任务的排行榜,范围为全部使用该bot的用户,在排行榜中将显示用户的 display name 和 完成任务数量, 摸鱼次数,如果用户关闭了 BOT 跟踪状态的话,则 display name 显示为 "HIDDEN BY USER"

  • /help /help

    显示本帮助信息

  • /del /del <TaskID,TaskID...>

    用于删除任务,用法为 /del <TaskID>,<TaskID>...

  • /cancel /cancel

    用于取消显示在用户输入框下方的键盘,目前仅有此用途

@SherlockHolo_bot

作者:Sherlock Holo (@Sherlock_Holo)

支持下列命令:

  • /arch [repository]

    搜索 Arch Linux 官方仓库中的软件包,可以添加 [repository] 参数选择从哪个仓库中搜索。

  • /google

    通过 Google 搜索网络,返回第一条结果的链接。

参考来源

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment