Chat Bots
关于 Chat Bots
MCC的聊天机器人有对于插一些脚本,插件等自动化操作的原生支持。
警告
我们最近会将配置格式从ini格式改为toml格式,此文档只进行了部分更新,请阅读MinecraftClient.ini文件,这份说明总是最新的,但也不能保证
提示
请参考此设置文件
内置的聊天机器人列表
- 提醒
- 防挂机检测
- 自动攻击
- 自动合成
- 自动挖矿
- 自动丢弃
- 自动吃食物
- 自动钓鱼
- 自动装填
- 自动回复
- 聊天日志
- Discord 桥接
- 自动种植
- 跟随玩家
- 猜单词游戏
- 邮差
- 地图
- 玩家列表日志记录
- 远程控制
- Replay模组
- 脚本任务
- Telegram 桥接
- 掉落物收集
- WebSocket
提醒
描述:
在聊天中检测到关键词时提示,
有利于检测某人什么时候与您交谈过。
设置:
设置项:
ChatBot.Alerts
启用
描述:
设置是否启用警报聊天机器人。
有效值:
true
和false
。类型:
布尔值
默认为
false
.
Beep_Enabled
提示
这可能不起作用,具体取决于您的系统或控制台
描述:
此设置指定您是否想在收到警报时听到蜂鸣声。
类型:
布尔值
默认值:
true
。
Trigger_By_Words
描述:
在收到指定的关键词后触发提醒。
有效值:
true
和false
。类型:
布尔值
默认为
false
.
Trigger_By_Rain
描述:
在开始下雨和停止下雨时触发提醒。
有效值:
true
和false
。类型:
布尔值
默认为
false
.
Trigger_By_Thunderstorm
描述:
在雷暴天气的开始与结束触发提醒。
有效值:
true
和false
。类型:
布尔值
默认为
false
.
Log_To_File
描述:
如为true,则警报聊天机器人开始存储日志。
有效值:
true
和false
。类型:
布尔值
默认为
false
.
Log_File
描述:
如果
Log_To_File
被设置为true
,提醒的内容将被记录到此文件中。类型:
字符串
默认为
"alerts-log.txt"
.
Matches
描述:
触发提醒的聊天关键词列表。
类型:
列表
示例:
Matches = [ "Yourname", " whispers ", "-> me", "admin", ".com", ]
Excludes
描述:
出现这些关键词后该条消息一定不触发提醒。
类型:
列表
示例:
Excludes = [ "myserver.com", "Yourname>:", "Player Yourname", "Yourname joined", "Yourname left", "[Lockette] (Admin)", " Yourname:", "Yourname is", ]
反挂机检测
描述:
定期发送命令或让机器人随机走动,以防止挂机检测。
设置:
设置项:
ChatBot.AntiAFK
启用
描述:
设置是否启用反挂机检测。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
Delay
描述:
执行操作的间隔时间。(秒)
如果
Min
andmax
是相同的,间隔将是一致的。 然而,如果情况不相同, 插件将在Min
和Max
之间选择一个随机数,如果你想要用随机的间隔来防止Anti AFK插件,这是有用的。格式:
{ min = <秒>, max = <秒> }
类型:
列表
默认为:
{ min = 60.0, max = 60.0 }
Command
描述:
需要发送的命令。
类型:
字符串
默认为
/ping
。
Use_Sneak
描述:
如果不能够欺骗Anti AFK,请启用。
类型:
布尔值
默认为
false
。
Use_Terrain_Handling
提示
您需要在设置中启用地形处理,建议将机器人放入围栏中,以免走失。 (推荐大小 5x5x5)
描述:
如果机器人使用 地形处理 而不是命令方法,请启用。
这将使你的机器人能够随机移动,从而产生更好的效果。
有效值:
true
和false
。类型:
boolean
默认:
false
。
Walk_Range
描述:
机器人将用来行走的范围 (-X 到 +X 和 -Z 到 +Z, 不使用 Y)。
机器人计算路径的速度可能较慢,建议设置为2-5。
默认为
5
。
Walk_Retries
提示
任务的每个执行点都会触发此设置,因此它不能够永久切换到其他方法。
描述:
这是机器人尝试路径的次数, 如果他无法找到20次有效的路径,他将使用命令方法。
默认为
20
。
自动攻击
描述:
自动攻击你周围的生物,你可以配置它只攻击某些生物或所有生物。
设置:
设置项:
ChatBot.AutoAttack
启用
描述:
此设置指定是否启用自动攻击。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
Mode
描述:
可用值:
single
每次攻击一个目标生物。
multi
每次攻击范围内的目标生物。
类型:
字符串
默认为:
single
Priority
描述:
可用值:
Health
(优先伤害生命值较低的目标生物)distance
(优先攻击靠近你的目标生物)
类型:
字符串
默认为:
distance
Cooldown_Time
描述:
每次攻击等待多长时间。
要启用它, 将
Custom
设置为true
并将value
更改为您的首选值 (例如1.5
)。默认情况下,这会被禁用,MCC将根据服务器 TPS 计算它。
格式:
Cooldown_Time = { Custom = <true|false>, value = <second> }
类型:
列表
例如:
Cooldown_Time = { Custom = true, value = 1.5 }
默认:
{ Custom = false, value = 1.0 }
Interaction
描述:
可用值:
Attack
攻击一个目标生物。 (默认)
Interact
与生物互动。
InteractAt
与生物互动并攻击生物。
类型:
字符串
默认为:
Attack
Attack_Hostile
描述:
此设置指定自动攻击机器人是否应该攻击敌对怪物。
有效值:
true
和false
。类型:
布尔值
默认值:
true
。
Attack_Passive
描述:
此设置指定自动攻击聊天机器人是否应该攻击被动生物。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
List_Mode
描述:
此设置指定了列表的哪种模式应该自动攻击聊天机器人用于
Entites_List
设置。可用值:
whitelist
(仅攻击指定的生物) 和blacklist
(不攻击指定的生物)。类型:
字符串
默认为:
whitelist
Entites_List
描述:
一个白名单或黑名单的生物列表,模式的设置在
List_mode
中。你可以在这里找到 完整的生物列表。
格式:
["<实体ID>", "<实体ID>", ...]
类型:
列表
示例:
[ "Spider", "Skeleton", "Pig"]
默认为:
[ "Zombie", "Cow", ]
自动合成
提示
您需要启用inventoryhandling才能开启自动合成,此外,如果您想使用工作台,还需要启用[terrainandmovements,机器人才能去到工作台
描述:
在你的背包或工作台上自动制作物品。
命令:
/autocraft list
列出可用配方。
/autocraft start <name>
使用您定义的配方名称开始合成。
/autocraft stop
停止合成。
/autocraft help
游戏中的帮助。
设置:
设置项:
ChatBot.AutoCraft
Enabled
描述:
此设置指定是否启用自动合成。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
CraftingTable
描述:
此设置指定了工作台的位置。
格式:
此设置是
列表
类型,具有以下子选项/设置;x
- X 坐标,类型:双精度浮点数
(例如:123.0
)y
- Y 坐标,类型:双精度浮点数
(例如:64.0
)z
- Z 坐标,类型:双精度浮点数
(例如:456.0
)
示例
CraftingTable = { X = 123.0, Y = 65.0, Z = 456.0 }
OnFailure
描述:
此设置指定了自动合成机器人在合成失败时应做些什么。
当没有可用的材料或无法到达工作台时,可能会失败。
有效值:
abort
和wait
。类型:
字符串
默认为
abort
。
定义一个配方
提示
如果你需要使用工作台,你需要设置
CraftingTable
。配方定义可以在
[ChatBot.AutoCraft]
的一个子配置项[[ChatBot.AutoCraft.Recipes]]
中被找到。[[ChatBot.AutoCraft.Recipes]]
部分需要包含以下设置:名称
你的配方名称可以是你喜欢的任何值。
类型:
字符串
类型
有效值:
player
和table
。Result
需要合成的物品。
类型:
字符串
实例:
"StoneBricks"
Slots
此设置是每个插槽(最多9个元素)的物品名称(字符串)的数组/列表。 空插槽应标记为
“Null”
类型:
列表
格式:
Slots = [ "<material/item type>", "<material/item type>", ... ]
槽位按以下索引:
2x2
(玩家背包)╔═══╦═══╗ ║ 1 ║ 2 ║ ╠═══╬═══╣ ║ 3 ║ 4 ║ ╚═══╩═══╝
3x3
(工作台)╔═══╦═══╦═══╗ ║ 1 ║ 2 ║ 3 ║ ╠═══╬═══╬═══╣ ║ 4 ║ 5 ║ 6 ║ ╠═══╬═══╬═══╣ ║ 7 ║ 8 ║ 9 ║ ╚═══╩═══╩═══╝
完整示例:
# 使用玩家背包合成石砖 [[ChatBot.AutoCraft.Recipes]] Name = "Recipe-Name-1" Type = "player" Result = "StoneBricks" Slots = [ "Stone", "Stone", "Stone", "Stone", ] # 使用工作台合成石砖 [[ChatBot.AutoCraft.Recipes]] Name = "Recipe-Name-2" Type = "table" Result = "StoneBricks" Slots = [ "Stone", "Stone", "Null", "Stone", "Stone", "Null", "Null", "Null", "Null", ]
提示
如果需要将某些字段留空,请使用“Null”将其标记为空。 石砖示例:
Slots = [ "Stone", "Stone", "Null", "Stone", "Stone", "Null", "Null", "Null", "Null", ]
所有物品的合成表都可以在[这里](https://mccteame. ithub.io/r/item/#L12)找到。请确保合成的材料在背包中。
自动挖矿
描述:
在指定位置自动挖掘方块。
提示
由于MCC尚不支持方块碰撞体积的精确计算,因此所有块都被视为完整的方块
命令:
/digbot start
- 开始挖掘工作/digbot stop
- 停止挖掘工作
设置:
设置项:
ChatBot.AutoDig
Enabled
描述:
此设置指定是否启用自动挖矿。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
Mode
描述:
此设置指定自动挖掘机器人在哪种模式下运行。
可用值:
lookat
挖掘机器人看到的方块。
fixedpos
在固定地点/位置/坐标挖掘方块。
both
只有当方块在“Locations”列表中时才挖掘。
类型:
字符串
默认为
lookat
。
Locations
描述:
此设置指定机器人要挖掘的数组/位置列表。
格式:
此设置是 列表 类型,具有以下子选项/设置;
x
- X 坐标,类型:小数
(例如:123.45
)y
- Y 坐标,类型:双精度浮点数
(例如:64.0
)z
- Z 坐标,类型:小数
(例如:234.5
)
完整实例:
Locations = [ { x = 123.5, y = 64.0, z = 234.5 }, { x = 124.5, y = 63.0, z = 235.5 }, ]
Location_Order
描述:
此设置指定了自动挖掘聊天机器人将挖掘方块的顺序。
可用值:
distance
挖掘距离机器人最近的方块。
index
在列表的顺序中挖掘方块。
类型:
字符串
默认为:
distance
Auto_Start_Delay
描述:
进入游戏后等待多少秒才能开始自动挖掘。
设置为
-1
来禁用自动启动。类型:
小数
默认为
3.0
。
Dig_Timeout
描述:
如果一个方块所需的时间超过此值,将会尝试找到另一个方块来挖掘。
类型:
小数
默认为
60.0
。
Log_Block_Dig
描述:
此设置指定是否在挖掘方块时输出日志到控制台。
有效值:
true
和false
。类型:
布尔值
默认值:
true
。
List_Type
描述:
此设置指定了
Blocks
设置的运作模式。可用值:
whitelist
(仅挖掘指定的方块) 和blacklist
(不挖掘指定的方块)。类型:
字符串
默认为:
whitelist
Blocks
描述:
此设置指定了不挖掘的方块列表。
方块类型列表可以在这里找到。
格式:
["<方块ID>", "<方块ID>", ...]
类型:
列表
示例:
Blocks = [ "DiamondOre", "RedstoneOre", "Emeraldore", "RedstoneBlock" ]
默认为:
[ "Cobblestone", "Stone", ]
自动丢弃
描述:
自动从物品栏中丢弃您不需要的物品。
提示
你需要启用 物品栏处理 才能使这个机器人工作
设置:
设置项:
ChatBot.AutoDrop
启用
描述:
此设置指定是否启用自动丢弃。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
Mode
描述:
此设置指定了自动丢弃的模式。
可用值:
include
此模式将丢弃列表中
Items
中指定的任何物品。exclude
此模式将丢弃列表中
Items
之外的任何物品。因此,它将保留列表中指定的物品。
everything
丢弃任何项目,不考虑在
Items
中列出的项目。
类型:
字符串
默认为:
include
Items
提示
所有项目类型都可以在 这里找到。
描述:
此设置是指定要丢弃或保留的物品列表。
格式:
["<物品ID>", "<物品ID>", ...]
类型:
列表
示例:
[ "Totem", "GlassBotle"]
默认:
["Cobblestone", "Dirt"]
自动进食
描述:
饥饿值低的时候自动进食
提示
你需要启用 物品栏处理 才能使这个机器人工作
设置:
设置项:
ChatBot.AutoEat
启用
描述:
自动进食开和关
有效值:
true
和false
。类型:
boolean
默认值:
false
Threshold
描述:
当低于设定阈值时自动进食
类型:
整数
默认值:
6
自动钓鱼
描述:
自动钓鱼
提示
您需要启用 entityhandling(configuration.md#entityhandling) 才能这使用这个功能。
提示
要使用自动切换和与鱼竿耐久度功能,您需要启用 inventoryhandling(configuration.md#inventoryhanding)。
提示
注意:如果您需要在钓到鱼后调整位置或者角度,您需要启用terrainandmovements(configuration.md#terrainandmovations)。
提示
强烈推荐使用 经验修补附魔 的钓鱼棒。
使用步骤
- 在使用MCC登陆游戏前拿一个鱼竿并对准海面
- 确保
AutoFish
已经enabled
(开启) - 使用MCC登入游戏
- 您将会看到日志“自动钓鱼将会在3s后开始。”
设置:
设置项:****
ChatBot.AutoFishing
Enabled
描述:
ChatBot的自动钓鱼开和关
有效值:
true
和false
。类型:
boolean
默认值:
false
Antidespawn
描述:
这个设置可能会在一些特殊情况使用,如果之前没有修改,请留下默认值。
有效值:
true
和false
。类型:
boolean
默认值:
false
Mainhand
描述:
使用主手还是副手来拿鱼竿
可用值:
true
(主手)false
(副手)
类型:
boolean
默认值:
true
Auto_Start
描述:
当加入游戏或者到其他世界时自动钓鱼
有效值:
true
和false
。类型:
boolean
默认值:
true
Cast_Delay
描述:
钓到鱼后等待N秒再开始下一次钓鱼
类型:
浮点数(小数和整数)
默认值:
0.4
Fishing_Delay
描述:
仅在
auto_start = true
时生效加入游戏或者到其他世界后,等待N秒后开始自动钓鱼
类型:
浮点数(小数和整数)
默认值:
3.0
Fishing_Timeout
描述:
当N秒后还没有钓到鱼会被认为超时。 超时后会重新开始钓鱼。
类型:
浮点数(小数和整数)
默认值:
300.0
Durability_Limit
描述:
不会使用耐久度小于指定耐久度的鱼竿。(注:鱼竿满耐久为64)
设置0以禁用此功能。
**类型&可用值:**一个
0
-64
的整数。默认值:
2
Auto_Rod_Switch
描述:
在当前鱼竿不可用后自动切换到背包中的其他鱼竿。(需要启用库存处理)
有效值:
true
和false
。类型:
boolean
默认值:
true
Stationary_Threshold
描述:
如果X轴和Z轴上的鱼钩实体的每次移动,距离都低于此阈值,则视为静止。
这是为了避免在投钩过程中被检测为咬钩。
如果设置得太高,会导致鱼杆在投出时便收回。
如果设置过低,它将导致不检测上钩。
类型:
浮点数
默认:
0.001
Hook_Threshold
描述:
如果鱼钩实体的每次移动是静止的(check stationary_threshold),并且它在Y轴上的移动大于此阈值,就将它视为成功捕获。
如果设置得太高,会忽略正常的咬钩。
如果设置得太低,可能会导致鱼钩实体的微小波动被识别为咬钩。
类型:
浮点数
默认:
0.2
Log_Fish_Bobber
描述:
打开后,每次收到鱼钩实体移动数据包时,都会打印在日志。
如果自动捕捞无法按预期运行,请打开此选项以调整
stabary_standary_standard
andhook_standard
, 或创建一个问题并附加这些日志。有效值:
true
和false
。类型:
boolean
默认:
false
。
Enable_Move
描述:
有些插件不允许玩家长时间在一个地方钓鱼。 此设置允许玩家在每次成功钓鱼后更改位置/角度。
每个位置都被添加为一个新的[[Chat Bot.Auto Fishing.Movements]]子部分,下面是更多例子。
有效值:
true
和false
。类型:
boolean
默认:
false
。
添加位置/移动
每个位置/移动都添加为[Chat Bot.Auto Fishing]的一个新的[[[ChatBot.AutoFishing.Movements]]]子部分。
可用设置/选项:
XYZ
此设置设定了机器人会移动到的位置。
此设置的类型为内嵌表,具有以下子设置/选项:
x
- X 坐标,类型:双精度浮点数
(例如:123.0
)y
- Y 坐标,类型:双精度浮点数
(例如:64.0
)z
- Z 坐标,类型:小数
(例如:654.0
)
示例:
XYZ = { x = 123.0, y = 64.0, z = -654.0 }
facing
此设置会设定机器人到达指定位置时的视角。
此设置的类型为内嵌表,具有以下子设置/选项:
yaw
- 类型是双精度
(例如:12.34
)pitch
- 类型是双精度
(例如:-23.45
)
示例:
facing = { yaw = 12.34, pitch = -23.45 }
完整示例
[[ChatBot.AutoFishing.Movements]] facing = { yaw = 12.34, pitch = -23.45 } [[ChatBot.AutoFishing.Movements]] XYZ = { x = 123.45, y = 64.0, z = -654.32 } facing = { yaw = -25.14, pitch = 36.25 }
自动重连
描述:
当与服务器断开连接时,mcc自动重新登录。例如,当服务器重新启动后mcc进行重连。
设置:
设置项:
ChatBot.AutoDrop
启用
描述:
此设置指定是否启用自动丢弃。
有效值:
true
和false
。类型:
boolean
默认:
false
。
Delay
描述:
加入服务器之前的延迟时间。
如果最小值和最大值相同,则时间将是最小值/最大值。如果需要随机时间,则可以将最大值和最小值设置为不同的数值。 时间格式以秒为单位,类型为double(双精度浮点数)。 (例如
37.0
)格式:
{ min = <seconds (double)>, max = <seconds (double)> }
类型:
inline table
示例::
{ min = 8.0, max = 60.0 }
默认:
{ min = 3.0, max = 3.0 }
Retries
提示
这可能会被服务器所有者封禁。
描述:
重试次数
使用
-1
进行无限重连。默认:
-1
Ignore_Kick_Message
描述:
是否忽略
Kick_Messages
,如果设置为true
,则无论什么样的退出消息,都将自动重连。类型:
boolean
默认:
false
。
Kick_Messages
描述:
触发自动重连的单词列表。
格式::
[ "<keyword>", "<keyword>", ... ]
类型:
字符串数组
默认:
[ "连接已丢失","服务器正在重新启动","服务器已满","很多玩家", ]
自动回复
描述:
在聊天中检测到指定内容时,自动运行命令或发送消息。
警告
服务器管理员可以篡改玩家昵称,因此只有当您信任服务器管理员时才启用
RemoteControl
警告
这个机器人可能会根据你的规则识别垃圾信息,不过全局 messagecooldown 设置可以帮助你避免意外垃圾信息。
设置:
设置项:
ChatBot.AutoRespond
启用
描述:
此设置指定是否启用自动响应聊天。
有效值:
true
和false
。类型:
boolean
默认:
false
。
Matches_File
提示
默认情况下不会创建此文件,我们建议克隆[
sample matches.ini
](https://github.com/MCCTeam/Minecraft-Console-Client/blob/master/MinecraftClient/config/sample-matchs.ini),并根据需要进行更改警告
如果你想在这个Chat Bots中使用脚本,暂时是不会工作的。 在这种情况下,您必须使用 C# 脚本。 我们正在努力使此功能重新工作。
描述:
此设置指定了文件的路径,其中包含用于检测关键字和响应的规则列表。
要找到配置规则,请查看
sample-matches.ini
其中包含非常详细的示例和很多注释。PS:将来我们也将通过示例记录这里的规则。
类型:
字符串
默认:
matches.ini
Match_Colors
提示
此功能使用
§
符号进行颜色匹配描述:
此设置指定自动响应 Chat Bot 是否应保留服务器发送的颜色格式。
当您需要使用颜色匹配文本时,您可以使用此选项。
所有颜色的代码列表:here
类型:
boolean
默认:
false
。
聊天日志
描述:
将 MCC 日志中的聊天信息记录到一个文件。
设置:
设置项:
ChatBot.ChatLog
启用
描述:
此设置指定是否启用聊天日志机器人。
有效值:
true
和false
。默认:
false
。
Add_DateTime
描述:
此设置指定聊天日志是否应该在记录的消息之前添加时间戳。
有效值:
true
和false
。默认值:
true
Log_File
描述:
此设置指定将要创建的聊天日志文件的名称。
默认:
chatlog-%username%-%serverip%.txt
Filter
描述:
要记录到文件中的消息类型。
可用值:
all
控制台所有文本
messages
所有消息,包括系统、插件通道、玩家和服务器。
chat
仅聊天信息
private
仅私信。
internal
仅内部消息和命令。
默认:
messages
Discord 桥接
描述:
这个 Chat Bot 允许您通过 Discord 频道发送和接收消息和 MCC 命令。
设置:
为了使其正常工作,您必须在 Discord 开发人员门户上创建一个 Discord 机器人。
首先去 Discord 开发者门户,点击新的应用程序,填写您的机器人名称以及确认服务条款并点击创建。
复制 应用程序 ID 并将其保存到一个位置。
点击左侧菜单中的 机器人 标签。
点击 添加机器人
点击 重置令牌 按钮并复制生成的令牌, 然后将其粘贴到
Token
字段在 MCC 配置中。启用
Message Content Intent
,Server Members Intent
和Presence Intent
。警告
令牌允许你访问机器人,请勿与任何人共享并保证其安全!
警告
你必须启用
Message Content Intent
、Server Members Intent
和Presence Intent
才能让机器人工作!然后去 Discord Permissions Calculator。 粘贴你已复制到的 客户端 ID 字段的 应用程序 Id 然后在通用权限部分中检查/启用 管理员 字段。 最后点击下面的 链接 ,并邀请机器人到您想要与 MCC互动的服务器。
前往您的Discord客户端,前往 设置 -> 高级开启 开发者模式。
然后右键单击服务器列表中邀请机器人访问的服务器,然后单击 复制 ID,将复制的 ID 粘贴到 MCC 配置的
GuildId
中。然后右键单击要与机器人交互的频道,然后单击 **复制 ID,**将复制的 ID 粘贴到 MCC 配置的
ChannelId
中。在频道中发送消息,然后右键单击你的昵称,然后单击复制 ID,然后将复制的 ID 粘贴到 MCC 配置的
OwnersIds
列表设置中。在 MCC 配置中将
Enabled
设置为true
来启用机器人,然后启动 MCC。使用方法:
要发送消息,只需在 Discord 频道中输入,然后按回车键即可。
要执行 MCC 命令,必须在其前面加上一个点(
.
)作为前缀。 示例:.move 145 64 832
设置:
部分:
ChatBot.DiscordBrdige
启用
描述:
此设置指定是否启用 Discord 桥接聊天机器人。
有效值:
true
和false
。类型:
boolean
默认:
false
。
Token
描述:
这是您 Discord 机器人的令牌。
类型:
字符串
GuildId
描述:
这是您邀请机器人访问的服务器/公会的 ID。
类型:
unsigned long
ChannelId
描述:
这是您要与机器人交互的服务器/公会上频道的 ID。
类型:
unsigned long
OwnersIds
描述:
这是可以与机器人交互的 Discord 用户 ID 列表。
类型:
列表/数组:unsigned long
PrivateMessageFormat
描述:
这是有人在服务器上向您发送私信时使用的格式。
在运行时,
{
和}
之间的部分消息将被聊天机器人替换,您不应以任何方式更改它们!例如
{message}
将被替换为实际消息,{username}
将被替换为在服务器上发送消息的用户名,并且{timestamp}
将被替换为当前的日期和时间。For Discord message formatting/styling, refer to this guide.
类型:
字符串
Default:
**[Private Message]** {username}: {message}
公共消息格式
描述:
这个格式将用于向 Discord 频道发送公开消息。
在运行时,
{
和}
之间的部分消息将被聊天机器人替换,您不应以任何方式更改它们!例如,
{message}
将被替换为实际消息,{username}
将被服务器上发送消息的玩家的用户名替换,{timestamp}
将被当前日期和时间替换。对于 Discord 消息的格式/样式,请参阅 本指南。
类型:
字符串
默认值:
{username}:{message}
TelportRequestMessageFormat(传送请求消息格式)
描述:
当有人向您发送了传送请求时将使用这种格式。
在运行时,
{
和}
之间的部分消息将被聊天机器人替换,您不应以任何方式更改它们!例如
{message}
将被替换为实际消息,{username}
将被替换为在服务器上发送消息的用户名,并且{timestamp}
将被替换为当前的日期和时间。For Discord message formatting/styling, refer to this guide.
类型:
字符串
Default:
A new Teleport Request from **{username}**!
自动种植
提示
您需要启用[地形和移动](configuration.md#terrainandmovements)和[库存处理](configuration.md#inventoryhandling),才能使此机器人工作
警告
这是一个新添加的机器人,并不是很好用。它仅在1.19.2中进行了测试并发现了一些小问题,您可以将其视为一个正在测试中的机器人
描述:
它可以为你种种地 当你启动它后,他会开始按照种植,收割的顺序种地
支持的作物:
- 甜菜根
- 胡萝卜
- 西瓜
- 下界疣
- 南瓜
- 马铃薯
- 小麦
当前问题清单:
- 有时机器人不会胡萝卜/土豆或甜瓜/南瓜茎使用骨粉(你会在未被骨粉处理的作物模式中看到它)。
- 当从不同的高度来到农田时,机器人有时会跳到庄稼上并损坏耕地。建议保持农业区域平坦并用围栏围起来,这样物品就不会飞出农业区
- If you have a farming platform that is 1 block thick and has air bellow, make it a few blocks thick because the bot can fall through sometimes when logging in and standing on farmland
- 有时候在灵魂沙上耕种下界疣时,机器人可能以“无效移动”数据包踢出。 我们没有找到世界一些地区发生这种情况的原因。 在另一些情况下,它很好,但建议保持农田面积小、平坦。
我们正在努力解决这些问题。
截至撰写本文时,机器人不执行的操作,但计划的功能:
- 不会收集飞往一侧的物件(建议在耕作区外围设两堵高墙)。
- 物品栏填满后不会将物品放在箱子。
- 物品栏填满时不会警告你。
- 不会自行从箱子中用种子或骨粉填充物品栏。
ℹ️ 注意:默认的扫描半径是
30
个方块,我们不建议使用太大的半径,因为可能会减慢机器人的速度。 半径越大,扫描和处理就越慢。命令:
启用后,将添加
/farmer
命令。用法
/farmer <start <crop type> [半径:<radius = 30>] [不安全:<true/false>] [传送:<true/false>] [调试:<true/false>]|停止>
标记成
[
和]
的选项是可选的,在这个命令的情况下,您可以在<crop type>
字段之后选择任何顺序。具有 = 的选项``说明
=
后面的值是默认值。在这个命令中,默认半径为 30 方块。示例:
在
40
方块的半径中种植小麦
。/farmer start wheat radius:40
种植具有调试输出和直接传送功能的
西瓜
:/farmer start melon debug:true teleport:true
停止机器人:
/farmer stop
设置:
设置项:
ChatBot.Farmer
Enabled
描述:
这个设置指定是否启用农民聊天机器人。
有效值:
true
和false
。类型:
boolean
默认:
false
。
Delay_Between_Tasks(任务之间的延迟)
描述:
此设置指定了机器人执行的每项任务之间的延迟秒数。
类型:
整型
默认:
1
最小值:
1
关注玩家
描述:
这个机器人能够跟随特定的玩家。
提示
机器人有时会变慢。需要以正常速度步行,有时要停止它才能跟上。它类似于在手持食物时使动物跟随你。 这是因为寻路算法很慢,我们正在写一个更好的。 You can tweak the update limit and find what works best for you. (NOTE: Do not but a very low one, because you might achieve the opposite, this might clog the thread for terrain handling) and thus slow the bot even more.
提示
You need to have terrainandmovements and entityhandling enabled in order for this bot to work.
设置:
设置项:
ChatBot.FollowPlayer
启用
描述:
这个设置指定是否启用跟随玩家的机器人。
有效值:
true
和false
。类型:
boolean
默认为
false
。
Update_Limit
描述:
机器人计算速率(秒)。
如果机器人过于缓慢,你可以调整它。
类型:
浮点数
默认:
1.5
Stop_At_Distance
描述:
如果玩家在
X
方块范围内,请不要跟随玩家(阻止机器人在无限循环中推送一个玩家)。类型:
浮点数
默认为
3.0
。
猜单词游戏
描述:
Hangman游戏是首批为MCC撰写的展示聊天Bot能力的机器人之一。
创建一个带有单词的文件(例如:
words-en.txt
,words-fr.txt
) 并在配置中设置[Hangman]
部分。将[Hangman]内的
Enabled
设置为true
之后, 将您的用户名添加到botowners
设置。最后,连接到服务器并使用/tell <bot username> start
启动游戏。提示
如果机器人不回应机器人所有者,请参阅[检测聊天消息](https://github.com/MCCTeam/Minecraft-Console-Client/tree/master/MinecraftClient/config#deting-chat-messages)中的内容。
设置:
设置项:
ChatBot.HangmanGame
启用
描述:
设置是否启用猜单词机器人。
有效值:
true
和false
。默认为
false
。
简体中文
描述:
此设置指定Hangman Chat Bot是否应该使用英语。
有效值:
true
和false
。默认值:
true
FileWords_EN
提示
这个文件不是默认创建的,而且是英语
描述:
此设置指定了Hangman将用于单词列表的文件路径,每个单词都添加到单行中。
默认为
"hangman-en.txt"
.示例:
words-en.txt
FileWords_FR
提示
这个文件不是默认创建的,而且是法语
描述:
这种情况与上面的描述相同。
默认为
"hangman-fr.txt"
.示例:
words-fr.txt
邮差
描述:
将消息传递给玩家和服务器,类似于邮件插件。
此机器人可以在收件人离线时存储消息,并在他们加入服务器时发送消息。
邮差可以存储和转发像Essential的
/mail
命令一样的邮件。- 发送格式:
/tell <Bot> mail [收件人] [消息]
- 匿名邮件发送:
/tell <Bot> tellonym [收件人] [消息]
当收件人在线时,机器人将自动发送邮件。 机器人还支持从MCC命令提示符提供的/mailer命令:
/mailer getmails
在控制台中显示所有邮件。
/mailer addignored [玩家ID]
忽略特定玩家发送的邮件。
/mailer removeignored [玩家ID]
重新开启对特定玩家的邮件信息接收。
/mailer getignored
显示所有被忽略的玩家。
警告
机器人按玩家的ID识别玩家 (而不是 UUID)。 昵称插件可能会导致邮件送错! 请不要在正常聊天中给机器人写东西!
警告
服务器管理员可以篡改玩家昵称,因此只有当您信任服务器管理员时才启用
RemoteControl
邮件网络:
邮件机器人可以在服务器之间传送消息。
如要建立一个由两个或多个机器人组成的网络,可将多个机器人连接至同一个数据库。
如果您从一个.exe启动两个实例,这两个实例应该自动同步到同一个设置文件。
- 发送格式:
设置:
设置项:
ChatBot.Mailer
已启用
描述:
设置是否启用邮差机器人。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
DatabaseFile
描述:
此设置指定了邮件聊天机器人存储邮件的文件路径。
此文件将由邮件聊天机器人自动创建。
默认为:
MailerDatabase.ini
IgnoreListFile
描述:
此设置指定被忽略的人的数据文件路径。 如果你想阻止某人使用这个聊天机器人,通过在新一行上写下他的昵称,将他添加到这个文件中。
此文件将由邮件聊天机器人自动创建。
默认值:
MailerIgnoreList.ini
PublicInteractions
描述:
此设置指定了邮件聊天机器人是否应该在公开聊天中进行交互(除了私人信息外)。
有效值:
true
和false
。类型:
布尔值
默认:
false
。
MaxMailsPerPlayer
描述:
此设置指定邮件发送者聊天机器人最多可以存储多少封邮件。
类型:
整数
默认值:
10
MaxDatabaseSize
描述:
此设置指定邮件聊天机器人的最大数据库文件大小(以 KB 为单位)。
类型:
整数
默认值:
10000
)(10MB)
MailRetentionDays
描述:
此设置指定邮件聊天机器人保存/存储消息的时间长度(以天为单位)。
类型:
整数
默认值
30
地图
描述:
这个聊天机器人允许您将控制台中的项目地图渲染到
.mp
图像并使用 Discord 桥接 聊天机器人传输给Discord。这有助于解决服务器上需要的验证码,或将地图艺术保存到图像中。
渲染地图到
Rendered_Maps
文件夹,这个文件夹将在客户端可执行文件所在的同一文件夹中自动创建。命令:
启用后,将添加
/map
命令。用法
/maps <list/render <id>> | maps <l/r <id>>
设置:
Section:
ChatBot.Map
启用
描述:
This setting specifies if the Map Chat Bot is enabled.
有效值:
true
和false
。类型:
boolean
默认:
false
。
Render_In_Console(在控制台渲染)
描述:
这个设置指定地图聊天机器人是否应在控制台呈现地图.
建议使用 Power Shell 实现地图质量最佳(至少是 Windows 用户)。
有效值:
true
和false
。类型:
boolean
默认值:
true
。
Save_To_File(保存到文件)
警告
如果你想使用 Discord 中继功能,你必须启用此设置!
描述:
此设置指定地图聊天机器人是否渲染地图并将其保存到文件(
.bmp
格式)有效值:
true
和false
。类型:
boolean
默认:
false
。
Auto_Render_On_Update
警告
在一些早于1.17的版本上,渲染了大量地图,可能会导致您的电脑卡顿,因为地图会每秒发送大量数据。 小心。**
描述:
机器人接收到地图时,是否自动渲染在控制台
有效值:
true
和false
。类型:
boolean
默认:
false
。
Delete_All_On_Unload
描述:
在未加载或重新加载bot时是否删除已渲染的地图。
有效值:
true
和false
。类型:
boolean
默认值:
true
Notify_On_First_Update
描述:
首次从服务器获取地图时是否通知您。
有效值:
true
和false
。类型:
boolean
默认:
false
。
Rasize_Rendered_Image
提示
渲染的尺寸越小,质量越好
提示
为了放大您的地图,您可以使用(获得更好的质量):https://deepai.org/machine-learning-model/torch-srgan
描述:
此设置指定地图聊天机器人是否应调整渲染图像(保存到文件中的图像)的大小。
如果你通过 Discord 桥接 聊天机器人将地图图像依赖到 Discord,这将非常有用。
默认地图大小是
128x128
有效值:
true
和false
。类型:
boolean
默认:
false
。
Resize_To
提示
当渲染大量地图时,在性能较差的系统上可能会有点慢。 如有任何性能问题,请降低分辨率。 如果您系统的性能没有那么强大,无法处理地图,请使用外部工具进行升级和调整大小
描述:
如果
Rasize_Rendered_Image
是true
,则应将地图大小调整。类型:
整型
默认:
512
Send_Rendered_To_Discord(发送渲染到 Discord)
警告
[Discord桥接](#discord-bridge)聊天机器人必须启用并配置!
警告
你需要启用
Save_To_File
才能正常工作。提示
有时客户端连接时,[Discord 桥接](#discord-bridge)将稍后加载一下。 渲染的地图图像将排队并在[Discord 桥接](#discord-bridge)准备好并连接完毕后立刻发送。
描述:
通过 Discord 桥接 聊天机器人向 Discord 频道发送地图(保存到文件)。
类型:
boolean
默认:
false
。
玩家列表日志记录
描述:
定期记录当前的玩家列表到文件中。
设置:
设置项:
ChatBot.PlayerListLogger
启用
描述:
是否启用自动记录玩家列表
有效值:
true
和false
。默认:
false
。
File
描述:
此设置规定了创建的玩家列表日志的名称。
默认值:
playerlog.txt
Delay
描述:
每隔几秒保存一次玩家列表。
类型:
浮点数
默认为
60.0
。
远程控制
描述:
通过服务器PM(
/tell
).向机器人发送MCC控制台命令。您需要让mcc能正常的识别聊天格式,并将自己添加到所有者中才能使用该机器人。
警告
服务器管理员可以篡改玩家昵称,因此只有当您信任服务器管理员时才启用
RemoteControl
设置:
设置项:
ChatBot.RemoteControl
启用
描述:
这个设置指定是否启用远程控制聊天机器人。
有效值:
true
和false
。类型:
boolean
默认:
false
。
AutoTpaccept
描述:
这个设置指定了远程控制聊天机器人是否自动接受传送请求。
有效值:
true
和false
。类型:
boolean
默认值:
true
AutoTpaccept_Everyone
描述:
这个设置指定远程控制聊天机器人是否自动接受每个人的传送请求。
有效值:
true
和false
。类型:
boolean
默认为
false
。
Replay模组抓取
描述:
启动游戏录制(
/replay start
)并稍后使用 Replay Mod (https://www.replaymod.com/)回放游戏。警告
这个机器人不适用于1.19,我们需要维护者。
提示
请注意,由于技术限制,客户端玩家(你)将不会在回放文件中显示
警告
**你应该使用
/replay stop
或者使用/quit
退出程序,否则回放文件会损坏。设置:
设置项:
ChatBot.ReplayCapture
启用
描述:
是否启用回放机器人。
有效值:
true
和false
。类型:
布尔值
默认为
false
。
Backup_Interval
描述:
此设置指定了自动保存文件的时间间隔(秒)。
-1
禁用。类型:
浮点数(小数和整数)
默认值:
300.0
脚本任务
描述:
计划命令和脚本以启动各种事件,如服务器加入、日期/时间或时间间隔。
设置:
设置项:
ChatBot.ScriptScheduler
启用
描述:
此设置指定是否启用脚本机器人。
有效值:
true
和false
。类型:
布尔值
默认:
false
。
定义一个任务
提示
建议您通过一个Tab或四个空格将段落与右对齐,以提高可读性。
描述:
每个任务都被定义为新变量
[ChatBot.ScriptScheduler.TaskList]
[ChatBot.ScriptScheduler]
设置格式:
[[ChatBot.ScriptScheduler.TaskList]] <setting> = <value> <setting> = <value>
可用设置/选项:
Trigger_On_First_Login
当您首次登录时将触发任务。
有效值:
true
和false
。类型:
布尔值
Trigger_On_Login
每次登录时都会触发任务。
可用值:
true
和false
类型:
布尔值
Trigger_On_Times
这将使任务能够在你想要的准确时间(秒)触发.
此设置的类型是
列表
,具有以下子设置/选项:Enable
- 启用或禁用此功能 (布尔值, 有效值:true
和false
)Time
- 任务应运行/触发的数组/时间列表 (每个元素是 时间 类型,例如:14:00:00
, 格式:小时:分钟:秒
)
示例:
Trigger_On_Times = { Enable = true, Times = [ 14:00:00, 22:35:8] }
Trigger_On_Interval
这将使任务能够在您定义的时间间隔触发.
此设置的类型是
列表
,具有以下子设置/选项:Enable
- 启用或禁用此功能 (布尔值, 有效值:true
和false
)MinTime
- 以秒为单位 (类型是双精度浮点
, 例如:3.14
)MaxTime
- 以秒为单位 (类型是双精度浮点
, 例如:3.14
)
如果
MinTime
和MaxTime
相同,聊天机器人将会同时使用两个变量,但如果不一致,聊天机器人就会在提供的这两个数字之间生成一个随机数使用。实例:
Trigger_On_Interval = { Enable = true, MinTime = 30.0, MaxTime = 160.0 }
完整实例
[ChatBot.ScriptScheduler] Enabled = true [[ChatBot.ScriptScheduler.TaskList]] Task_Name = "Task Name 1" Trigger_On_First_Login = false Trigger_On_Login = false Trigger_On_Times = { Enable = true, Times = [ 14:00:00, ] } Trigger_On_Interval = { Enable = true, MinTime = 3.6, MaxTime = 4.8 } Action = "send /hello" [[ChatBot.ScriptScheduler.TaskList]] Task_Name = "Task Name 2" Trigger_On_First_Login = false Trigger_On_Login = true Trigger_On_Times = { Enable = false, Times = [ ] } Trigger_On_Interval = { Enable = false, MinTime = 1.0, MaxTime = 10.0 } Action = "send /login pass"
Telegram 桥接
描述:
This bot allows you to send and receive messages and commands via a Telegram Bot DM or to receive messages in a Telegram channel.
警告
You can't send messages and commands from a group channel, you can only send them in the bot DM, but you can get the messages from the client in a group channel.
设置:
- First you need to create a Telegram bot and obtain an API key, to do so, go to Telegram and find @botfather
- Click on
Start
button and read the bot reply, then type/newbot
, the Botfather will guide you through the bot creation. - Once you create the bot, copy the API key that you have gotten, and put it into the
Token
field ofChatBot.TelegramBridge
section (this section). - Then launch the client and go to Telegram, find your newly created bot by searching for it with its username, and open a DM with it.
- Click on
Start
button and type and send the following command.chatid
to obtain the chat id. - Copy the chat id number (eg.
2627844670
) and paste it in theChannelId
field and add it to theAuthorized_Chat_Ids
field (in this section) (an id in "Authorized_Chat_Ids" field is a number/long, not a string!), then save the file. Now you can use the bot using it's DM.
重要警告
Do not share your API key with anyone else as it will give them the control over your bot. Save it securely.
重要警告
If you do not add the id of your chat DM with the bot to the "Authorized_Chat_Ids" field, ayone who finds your bot via search will be able to execute commands and send messages!
重要警告
An id pasted in to the "Authorized_Chat_Ids" should be a number/long, not a string!
设置:
Section:
ChatBot.TelegramBridge
Enabled
描述:
This setting specifies if the Telegram Bridge Chat Bot is enabled.
有效值:
true
和false
。类型:
boolean
默认:
false
。
Token
描述:
你的Telegram机器人的令牌。
类型:
字符串
Default: empty
ChannelId
描述:
你想要使机器人与 MCC 交互的频道ID。
类型:
字符串
Default: empty
Authorized_Chat_Ids
描述:
A list of Chat IDs that are allowed to send messages and execute commands. To get an id of your chat DM with the bot use
.chatid
bot command in Telegram.类型:
字符串数组
Default: empty
Message_Send_Timeout
描述:
如果信息无法被发送至Telegram时,要等候多少秒才取消发送。(最小 1 秒)
类型:
整型
Default: 3
Message Formats
Words wrapped with
{
and}
are going to be replaced during the code execution, do not change them! For example,{message}
is going to be replace with an actual message,{username}
will be replaced with an username,{timestamp}
with the current time. For Telegram message formatting, check the following.PrivateMessageFormat
描述:
A format that is used to display a private chat message on the minecraft server, in a Telegram channel.
类型:
字符串
Default:
*(Private Message)* {username}: {message}
公共消息格式
描述:
A format that is used to display a public chat message on the minecraft server, in a Telegram channel.
类型:
字符串
默认值:
{username}:{message}
TelportRequestMessageFormat(传送请求消息格式)
描述:
A format that is used to display a teleport request on the minecraft server, in a Telegram channel.
类型:
字符串
Default:
A new Teleport Request from **{username}**!
掉落物收集
描述:
Collect items on the ground using this Chat Bot.
设置:
Section:
ChatBot.ItemsCollector
启用
描述:
This setting specifies if the Items Collector chat bot is enabled.
有效值:
true
和false
。类型:
boolean
默认:
false
。
Collect_All_Item_Types
描述:
Specifies if the bot will collect all items, regardless of their type. If you want to use the whitelisted item types, disable this by setting it to
false
.有效值:
true
和false
。类型:
boolean
默认:
false
。
Items_Whitelist
描述:
In this list you can specify which items the bot will collect. 若要启用此功能,请将
Collect_All_Item_Types
设置为 false。
注意
This does not prevent the bot from accidentally picking up other items, it only goes to positions where it finds the whitelisted items
Available values: Item Type List
Type:
array of strings with item names
Default:
[ "Diamond", "NetheriteIngot" ]
Delay_Between_Tasks(任务之间的延迟)
描述:
机器人扫描掉落物的延迟,以毫秒为单位。(推荐:300~500ms左右)
类型:
整型
Default:
300
Collection_Radius
描述:
The radius of blocks in which bot will look for items to collect.
Type:
double
Default:
30.0
Always_Return_To_Start
描述:
Specifies if the bot will return to it's starting position after there are no items to collect.
有效值:
true
和false
。类型:
boolean
默认值:
true
Prioritize_Clusters
描述:
Specifies if the bot will go after clustered items instead for the closest ones.
有效值:
true
和false
。类型:
boolean
默认值:
true
WebSocket 聊天机器人
描述:
This chat bot allows you to remotely execute commands on the MCC and make Chat Bots in other programming languages over Web Socket.
You can make your own library to do this, or use the reference implementation one which has been writen in TypeScript/JavaScript: MCC.js
If you want to write your own library, you can follow this guide on the protocol specification and avaliable events and commands: WebSocket Chat Bot Guide
设置:
Section:
ChatBot.WebSocketBot
启用
描述:
This setting specifies if the Web Socket chat bot is enabled.
有效值:
true
和false
。类型:
boolean
默认:
false
。
Ip
描述:
WebSocket服务器监听的IP地址
类型:
字符串
Default:
127.0.0.1
(localhost)
Port
描述:
The Port that Websocket server will be bound to.
Type:
number
Default:
8043
Password
描述:
A password that will be used to authenticate on thw Websocket server
It is recommended to change the default password and to set a strong one
类型:
字符串
Default:
wspass12345
DebugMode
描述:
此选项适用于使用Chat Bot远程执行程序/命令/函数
类型:
boolean
默认:
false
。