Skip to content

Instantly share code, notes, and snippets.

@ShadowRZ
Forked from KenOokamiHoro/archlinux_cn_talks.md
Created November 24, 2018 10:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ShadowRZ/8688e1d286d45fb7221932703f23c1e3 to your computer and use it in GitHub Desktop.
Save ShadowRZ/8688e1d286d45fb7221932703f23c1e3 to your computer and use it in GitHub Desktop.
Arch Linux CN Community talk group guides

Arch Linux 中文社区交流群指引

irc.freenode.net 的频道列表

  • #archlinux-cn ,主群组,讨论和 Arch Linux 相关的技术话题和寻求支持。
  • #archlinux-cn-offtopic ,Arch Linux 相关人员的 Arch Linux 无关话题讨论群(也就是所谓的水群啦)
  • #archlinux-cn-game,讨论各种游戏和邀请联机的分支频道。
  • #archlinux-cn-bot,IRC 和 Telegram 机器人制作、交流和测试用频道。
  • #archlinux-cn-fuckbot,人类专用。
  • #archlinux-cn-nsfw,车行道。

处于曾经遭受过来自 IRC 的大量 spam 攻击,建议通过 freenode 的 NickServ 服务注册一个用户名并进行验证。 未验证的用户可能会被重定向至 #archlinux-cn-unregistered 频道。

这里是 freenode 提供的昵称注册指南: https://freenode.net/kb/answer/registration

Telegram 上还有两个和 Arch Linux 中文社区相关的频道:

  • @archlinuxcn , 中文社区相关消息(翻译官方新闻,testing 翻车预警,滚包预警等)。
  • @archlinuxcn_updates , 官方仓库和中文社区的软件包更新推送频道。

其他入口

  • 如果你使用 Matrix ,可以通过加入 #freenode_#频道名称:matrix.org 组加入聊天(例如 https://matrix.to/#/#freenode_#archlinux-cn:matrix.org
  • 如果你使用 Telegram ,可以加入除了 #archlinux-cn-fuckbot 外的其他群组。请向群中成员获取加入方式。
  • 如果你使用 XMPP/Jabber ,可以添加 talk@archlinuxcn.org (#archlinux-cn)或 offtopic@archlinuxcn.org(#archlinux-cn-offtopic)为好友加入聊天。

通用规则

  • 所有的 IRC 频道都位于 freenode 上,请遵守它们的 网络政策频道指南
  • 请勿在除 #archlinux-cn-nsfw 以外其他频道发送 NSFW(Not Safe For Work) 内容。
  • 加入频道以后先通过 /topic 读一下频道的话题,会包含这个频道相关的一些信息(不过你应该是看了 /topic 才来到这里的吧)。
  • 频道内的机器人不止一个,不过也请不要滥用机器人指令。如果你想加入你自己的机器人,欢迎先来 #archlinux-cn-bot 测试。
  • 不要刷屏,粘贴日志请考虑使用类 Pastebin 服务,如 https://cfp.vim-cn.com/https://fars.ee/
  • 贴图同样可以用类图床服务,如 https://img.vim-cn.com/https://fars.ee/
  • 不要对着桥接机器人说话,人类的名字在它们后面,请在回复时输入桥接机器人后面的昵称。用 weechat 客户端可以使用 bot2human 插件隐藏机器人姓名。
  • 几个频道的成员基本相同,在一个频道提问后短时间没有回答请不要同时转发到别的频道。过分发布可能被视为 spam 行为。

其他频道的额外规则暂定?

#archlinux-cn 的额外规则

  • #archlinux-cn 频道的主要目的是讨论和支持 Arch Linux 。如果你正在使用某个 Arch Linux 的衍生发行版(如 Antergos、Manjaro、Chakara、Parabola GNU/Linux Libre 等),非 Arch Linux 的 GNU/Linux 发行版,或者在不受官方支持的非标准环境中使用(例如 Windows Subsystem for Linux 中),请在提问前先说明。
  • 推荐阅读 提问的智慧,一般一个好的问题更容易在短时间内被注意并得到解决。
  • 管理员或其他成员在话题跑题或明显不属于技术话题时可能会要求移步至 #archlinux-cn-offtopic ,如果被要求这样做或者转至私聊,请遵守这个要求。

对于 Telegram 用户

  • 加入后默认会用姓名作为昵称转发,请尽量设置一个便于 IRC 用户提及的昵称。可以通过 /nick 命令查看和修改昵称。
  • 尽管转发机器人会自动将超过三行的文字发送至 Pastebin 服务,但仍需注意此点。
  • 由于 Bot API 的限制(Bot 之间相互不可见),由 Telegram 上的其他机器人发送的消息无法被其他侧的 IM 看到。引用 Bot 消息时请注意。
  • #archlinux-cn 和 #archlinux-cn-offtopic 已经设置成不会转发 Sticker。图片、视频、语音、文档等如未超过大小限制会被正常转发到图床。
  • 由于存在转发机器人,请注意发布的信息中不要包括自己和其他人的隐私,已转发到 IRC 的消息无法被删除或修改。误发包含隐私信息的图片请联系图床管理员删除服务器存档(但是无法控制浏览器缓存)。

中文社区频道的跨 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 机器人

@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