new file: dependence.py
new file: package.py new file: packup.bat new file: packup.sh new file: requirements.txt new file: scripts/__init__.py new file: scripts/file_store_api.py new file: src/__init__.py new file: src/config.toml new file: src/modules/__init__.py new file: src/modules/plugin_modules.py new file: src/modules/user_module.py new file: src/process.py new file: test.py
This commit is contained in:
51
src/process.py
Normal file
51
src/process.py
Normal file
@ -0,0 +1,51 @@
|
||||
import threading
|
||||
from src.modules.plugin_modules import BasePlugin, MessageContext
|
||||
import time
|
||||
|
||||
from rcon import Client
|
||||
import time
|
||||
# 服务器IP、端口、RCON密码
|
||||
|
||||
def send_message(message,host,port,password):
|
||||
"""
|
||||
发送消息到Minecraft服务器
|
||||
:param message: 要发送的消息列表
|
||||
"""
|
||||
try:
|
||||
with Client(host, passwd = password, port = port) as mcr:
|
||||
mcr.run('/say {}'.format(message))
|
||||
|
||||
|
||||
except ConnectionRefusedError as e:
|
||||
print("连接被拒绝,请检查服务器是否运行和RCON配置是否正确。错误信息:", e)
|
||||
except TimeoutError:
|
||||
print("连接超时,请检查服务器网络连接是否正常。")
|
||||
except Exception as e:
|
||||
print("发生未知错误:", e)
|
||||
|
||||
|
||||
class Mc_rcon(BasePlugin):
|
||||
def before_load(self):#加载消息前
|
||||
config = self.config
|
||||
gid = config.get("group").get("id")
|
||||
config = config.get("mc_rcon")
|
||||
if self.ctx.group is None:
|
||||
return "ok"
|
||||
print(self.ctx.group.group_id)
|
||||
if self.ctx.group.group_id == gid:#转发群消息至 Minecraft
|
||||
if "CQ:image" in self.ctx.raw_message:
|
||||
mesg = f"{self.ctx.user.nickname} 发送了一张图片"
|
||||
print(f"转发消息至 Minecraft: {mesg}")
|
||||
elif "CQ:video" in self.ctx.raw_message:
|
||||
mesg = f"{self.ctx.user.nickname} 发送了一段视频"
|
||||
print(f"转发消息至 Minecraft: {mesg}")
|
||||
elif "CQ:record" in self.ctx.raw_message:
|
||||
mesg = f"{self.ctx.user.nickname} 发送了一段语音"
|
||||
print(f"转发消息至 Minecraft: {mesg}")
|
||||
elif "CQ:file" in self.ctx.raw_message:
|
||||
mesg = f"{self.ctx.user.nickname} 发送了一个文件"
|
||||
print(f"转发消息至 Minecraft: {mesg}")
|
||||
else:
|
||||
print(f"转发消息至 Minecraft: {self.ctx.raw_message}")
|
||||
mesg = f"{self.ctx.user.nickname} 说 {self.ctx.raw_message}"
|
||||
send_message(message = mesg,host = config.get("host"),port = config.get("port"),password = config.get("password"))
|
Reference in New Issue
Block a user