【持续更新】lobby:游戏大厅插件,与群友一起狼人杀/UNO/斗地主/麻将

梦梦不务正业的新坑+1

koishi-plugin-lobby 提供了一个通用的游戏大厅服务。安装这个服务后,下游插件可以基于其提供的房间系统开发游戏,尤其是卡牌类/文字类游戏。

目前此插件的最新版本是 0.4.1,处于公开测试阶段。

其提供的功能包括(:white_check_mark: 的部分已经实现,其余部分在规划中):

  • 房间的创建、加入、退出
  • 房主踢人、转让、解散房间
  • 房间设置最大人数、可见性
  • 房间列表
  • 同步房间内公开消息到群聊
  • 在线匹配
  • 设置房间名、角色名
  • 游戏记录生成和导出

目前已经发布的游戏有(:white_check_mark: 的部分已经实现,其余部分在规划中):

本帖会持续更新。欢迎大家参与讨论:

  • 使用 lobby 插件游玩时的趣事
  • 给 lobby 插件提出意见、建议
  • 说说自己还有没有想玩的游戏(虽然我估计不会做了但是别人看到没准就写了呢)
7 个赞

前言

首先请熟知,lobby 的绝大部分功能都需要私聊进行

在交互前请先与机器人加好友,以免陌生人消息过多导致机器人被封号!

基本用法

房间的创建、加入、退出

私聊使用 lobby create 创建房间。创建房间后你将成为房主,并获得一个房间号。

私聊使用 lobby join 房间号 加入房间。房间内有游戏正在进行时,无法加人。

私聊使用 lobby leave 退出房间。房主退出房间时需要选择是解散房间还是转让房主。

一个人同时只能加入一个房间。要想加入其他房间就需要先退出已有的房间。

房主踢人、转让、解散房间

私聊使用 lobby room 可以查看成员列表和每个成员的编号。

房主私聊使用 lobby kick 编号 可以踢人。一次可以踢多个人,以空格分隔即可。

房主私聊使用 lobby transfer 编号 可以转让房间。

房主私聊使用 lobby destroy 可以解散房间。

房间列表、群聊同步

私聊和群聊使用 lobby list 可以查看全部的公开房间列表。

群聊使用 lobby join 房间号 会将该房间内的消息同步到该群中。这样你就可以版聊了!

房间内聊天

在房间内使用 :内容 进行聊天。冒号可以是全角或者半角的。你的聊天内容会被发给房间内的所有人(以及同步该房间消息的群聊中)。

如果要发送图片,可以先单独发送图片,然后引用回复图片并发送 :。用这种方法也可以在手机上发送图文。

开始游戏

使用 game 可以查看已安装的游戏列表。所有的游戏都注册为了 game 的子指令。

房主私聊使用游戏指令(例如 rps)会在房间内配置该游戏。

房主私聊使用 lobby start 即可开始游戏。在房间内成员逐一确认完成后游戏将正式运行。

4 个赞

看看今天的测试返图:

5 个赞

我确实有想玩的游戏,有机会的话也打算做插件出来!

3 个赞

对于lobby的控制是否在计划中?
如果在计划中是打算单独做一个插件还是嵌入呢?
例如:

  • 控制那些游戏是否可以开房
  • 控制最大可建立的房间数量
  • 利用权限系统控制玩家能开的游戏

此外还有个提议
在房间中调用其他机器人指令
比如在房间中使用骰子的时候,其他人也能看到转发的内容什么的

4 个赞

基于 lobby 服务开发的游戏(主要是卡牌类/文字类游戏)都可以开房。

未来即使是完全对称信息的游戏(例如围棋)也可能会接入 lobby,提供群内和房间两种游戏模式。

可以做成插件配置。

不需要专门做,完全可以通过 commands 插件实现自主配置。

2 个赞

不知道怎么设计,这样吗(假设句号是指令前缀,冒号是发言前缀):

.:dice
:.dice(这个感觉不好,如果有人就想发...就会识别成指令调用了)

或者直接插值(但就有点麻烦)

:$(dice)
2 个赞

想了几种,感觉都不怎么好,也不是刚需,还是先搁置比较好
DFVSGVTFRVZ{0G3JB)X`P

3 个赞

20230516 更新:

  • 输入 lobby list 时,可能显示的房间状态为 游戏中 / 等待中 / 闲置中,修复了过去不在进行游戏时也显示为游戏中的问题
5 个赞

20230519 更新:

  • 支持了 lobby create --name 帅气的房间名 选项,用于设置房间名称(可以在大厅看到)
2 个赞

麻将快做完了!

4 个赞

↑ 图为因为测试狼人杀而短时间发了 4k 条消息的四季酱 1 号

3 个赞

没有报菜名诶

1 个赞

lobby创建房间之后 发送th-werewolf显示未加入任何房间,加入之后再发又说不是房主无法操作,这是什么情况

2 个赞

可以把聊天记录发一下吗?

2 个赞

IIROSE_BOT


2 个赞

第一段聊天记录是在私聊环境下吗?

看起来第二段聊天记录是群聊的,试试在私聊环境下输入 rps。

2 个赞

好的。

2 个赞

机器人不响应的。

2 个赞
  1. 请确认一下这个指令是否存在,输入 help rps 试试。
  2. 看看日志有没有报错。
2 个赞