MCCScript 只发送 Discord webhook 中聊天消息的第一个单词

时间:2021-03-31 21:15:59

标签: python c# discord minecraft

我有一个 C# 脚本,每当在给定服务器的聊天中发送消息时,它都会侦听并执行 Python 文件。但是,它似乎只发送了句子的第一个单词,并切断了其余部分,我不确定为什么。

我的 C# 文件:

//MCCScript 1.0

MCC.LoadBot(new DiscordBot());

//MCCScript Extensions

public class DiscordBot : ChatBot
{
    public override void Initialize()
    {
        LogToConsole("Sucessfully Initialized!");
    }

    public override void GetText(string text)
    {
        
        text = message
        text = GetVerbatim(text)

        if (IsChatMessage(text, ref message))
        {
            System.Diagnostics.Process.Start(
                @"C:\Users\Christian\AppData\Local\Programs\Python\Python38\python.exe",   // Set path to python here
                 @"C:\Users\Christian\Desktop\MCC\relay.py" // Set path to your relay.py here
                    + " '" + username.Replace("\\", "⧵").Replace("'", "'")
                    + "' '" + message.Replace("\\", "⧵").Replace("'", "ꞌ")
                    + "'"
            );
        }
    }
}

Python 网络钩子文件:

from discord_webhook import DiscordWebhook
import sys

username = sys.argv[1]
message = sys.argv[2]
webhook = DiscordWebhook(url='https://discord.com/api/webhooks/XXXXXXXXX', content='<' + sys.argv[1] + '> ' + sys.argv[2])
webhook.execute()

python 文件在 Discord 频道中发送消息很好,但在聊天消息中只发送句子的第一个单词。

注意:似乎没有 MCCScript 标签,所以我认为 Minecraft 标签是最接近的。如果这不属于这里,请告诉我。

1 个答案:

答案 0 :(得分:0)

看看

message = ' '.join(sys.argv[2:]))

修复了这个问题。