HasMentionPrefix не работает при запуске бота с Linux, но работает при запуске в Windows - PullRequest
0 голосов
/ 28 апреля 2019

Я разрабатываю своего бота на C # с библиотеками discord.Net и выяснил, что при запуске бота под Linux (Debian 4.9.144-3.1) (с моно) бот не отвечает на команда при упоминании его и после команды. Но работает, когда запущен на моем компьютере с Windows 10. Если кто-нибудь знает, почему и как решить эту проблему

Discord.NET версия: 2.0.1 Версия Debian: Debian 4.9.144-3.1 Версия для Windows 10: 17763,437

Я попытался откатиться до Discord.NET 2.0.0, но проблема осталась прежней

            var message = arg as SocketUserMessage;
            var context = new SocketCommandContext(DiscordClient, message);
            var prefixPos = 0;
            if (message.HasStringPrefix("b!", ref prefixPos) ||
                  message.HasMentionPrefix(DiscordClient.CurrentUser, ref prefixPos))
            {
                var result = await _commands.ExecuteAsync(context, prefixPos, null);
                if (!result.IsSuccess)
                    Console.WriteLine(
                        $"[Erreur] : à {DateTime.Now}, une erreur s'est produite avec la commande {context.Message.Content} | Stracktrace : {result.ErrorReason}");
            }

Я ожидал, что бот ответит

1 Ответ

0 голосов
/ 28 апреля 2019

В документации Discord.Net прямо упоминается, что Mono не поддерживается . Использование Mono или неосновной среды выполнения может привести к неожиданному поведению Вместо этого переключитесь на .NET Core.

...