Skip to content

moontide/TideBot

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
sql
 
 
src
 
 
 
 
web
 
 
 
 
 
 

TideBot

特色

  • bot 命令不区分大小写,让机器服务于人类,而不是不让人类适应机器死板的逻辑。
  • 尽可能多的支持中文,嗯,命令名、命令选项、ht 命令的模板名、/me 命令的动作命令名 都允许使用汉字(虽然并未完全实现)
  • 支持命令别名,尽量简化用户输入。
    • 比如,game 命令下有很多游戏,则可以直接用游戏名代替 game 命令。如: 斗地主、2048
    • 再比如,ht 命令有诸多用户添加的自定义模板,则可以直接用用模板名直接执行该 ht 模板,如: ht.run 糗事百科 直接用 糗事百科 执行
    • 再比如,/me 命令也有诸多用户添加的自定义动作,则可以直接用 .动作命令 的形式直接执行,如: /me happy 直接用 .happy 执行

功能

对话框 | Dialog

对话框,原本只是实验阶段的一个产物,目的是实现在 IRC 内实现问答的功能:问用户问题、收集答案。

在功能实现后,其他一些命令就依赖此功能进行交互式处理,如:

  • 斗地主游戏抢地主时依次询问用户是否抢地主、sm 命令启用/禁用所有的定义时,询问用户 -- 是否类问题
  • 斗地主游戏询问是否出牌打过上家 -- 开放型问题(填空题)
  • /vote 管理命令询问全频道的人是否投票 -- 不限定人数的对话框

游戏功能 | Games

命令用法: game <游戏名>

三国杀 | SanGuoSha -- 啥? IRC 里也能玩三国杀?

  • game 三国杀 /p 玩家2 [玩家3]
  • game 三国杀身份 /p 玩家2 [其他玩家]...
  • game 三国杀国战 /p 玩家2 [其他玩家]...

三国杀 是一种回合制卡牌游戏。得益于三国杀官方精心设计的游戏规则、卡牌种类,使得三国杀可玩性很丰富。

目前 TideBot 已实现、准备实现的三国杀玩法有:

  • 三国杀入门 (已实现): 只有杀、闪、桃 的入门游戏,最多只允许 3 人玩(因为 3 人以内玩不用计算距离)。只适用于对三国杀不熟悉的新手玩,老司机会觉得入门游戏不好玩…
  • 三国杀身份 (TODO ... ): 想想有那么多武将(技能)、武器(技能)、防具(技能)要实现,就感觉工程量太大…
  • 三国杀国战 (TODO ... ): 除了实现身份局里的武将,还有双将以及国战特有的武将(有的武将名称相同但技能不同了,比如陆逊…)、技能预亮、杀死其他国家武将的奖励,等等不同游戏规则的实现…

斗地主 | DouDiZhu

game 斗地主 /p 玩家2 玩家3

  • 3 人玩,1 副牌
  • 抢地主: 按照腾讯游戏的斗地主游戏来抢地主: 1分 2分 3分,选 3 分立刻成为地主,否则继续问其他人
  • 大王★、小王☆可用 dw、xw 来代替,用 d、x 代替也可以,不区分大小写; 10 可用 0 或 1 代替
  • 过牌: 在批斗阶段,可用下面的任意一个来过牌: pass、 p、 n、 过、 g,在自己的回合阶段不能过牌
  • 斗地主游戏目前还实现了两个机器人玩家: 不出牌的机器人玩家、谁都打的机器人玩家,可在开始游戏时,用 @不出牌 @谁都打 来指定机器人玩家。
    • @谁都打 的别名还有 @能出牌就出牌 @能上就上 @不出牌不舒服斯基
    • 如果要添加两个相同类别的机器人,需要在机器人名称后面附加任意有效的字符串区别一下即可。比如 @不出牌不舒服斯基1 @不出牌不舒服斯基2

斗地主游戏截图 | DouDiZhu game screenshot

2048

2048 游戏截图 | 2048 game screenshot

21 点 | BlackJack

  • 与传统 21 点游戏不同,此游戏没有庄家一说
  • 每个人都是平等的:按顺序询问要不要牌,要牌的发一张牌,如果爆牌则“死亡”,爆牌后的玩家不再询问是否要牌。最后,按分数排出胜负:最接近 21 点的胜利 > 2 > 爆牌

猜数字 | GuessDigits

执行外部系统命令 | Cmd

执行外部命令,并返回 stdout 和/或 stderr 的内容。

注意,这不是 shell,所以类似的功能不支持。目前只实现了管道的功能: command1 | command2

支持自定义模板的多功能 Ht/Json 命令 | Ht/Json

这是一个多功能 Ht/Json 命令,用来通过 http 协议读取 html 或 json/javascript 数据,并返回相关数据。

  • ht 命令
  • json 命令使用 subselector 指定 javascript 代码

GitHub 日志 | GitHub commit logs

StackExchange 问答站点查询 | StackExchange

查询 IP 地址所在地理位置 - 纯真数据库 | ChunZhen IP-Location

ipl <IPv4地址>...

查询 IP 地址所在地理位置 - MaxMind 数据库 | Maxmind/GeoIP IP-Location

geoip[.语言] <IP地址>...

查询 MAC 地址所属制造商 | MAC Manufactory

macm <MAC地址>...

  • MAC 地址可按几种格式
    • AA:BB:CC
    • AA-BB-CC
    • AA:BB:CC:DD:EE:FF
    • AA-BB-CC-DD-EE-FF
  • MAC 地址不区分大小写

About

我的 IRC 机器人,虽然这个 Bot 能让聊天者在 IRC 里玩游戏,但除了游戏,还有其他很多功能。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages