현재 불화 봇에서 작업 중입니다. 무언가를 입력하면 명령을 내려고했는데 봇은! say 부분이없는 경우에만 다시 말합니다. 여기에서 볼 수 있듯이 부분 문자열을 사용했습니다. 다운로드 한 메시지가 문자열로 바뀌면 마치 하나처럼 작동하지 않는 것 같습니다. 내가 commmand를 불화에 넣었을 때, 그냥 작동하지 않습니다. 오류 메시지가 표시되지 않습니다. 그것은 단지 응답하지 않습니다.메시지 문자열을 부분 문자열로 구분합니다.
private void RegisterSayCommand()
{
commands.CreateCommand("say")
.Do(async (e) =>
{
string messagestosay, message_b;
int message_sub;
Message[] message_a;
message_a = await e.Channel.DownloadMessages(1);
message_b = message_a.ToString();
message_sub = message_b.Length;
messagestosay = message_b.Substring(4, message_sub);
await e.Channel.SendMessage(messagestosay);
});
}
나는이 방법을 알고 있지만 코드에서 사용하는 방법을 이해하지 못한다. 코드에서 어떻게 사용했는지 더 자세히 설명하십시오 :) – SugoiSheep
'string messageSay = e.Args [0]; 기다리고 있습니다 e.Channel.SendMessage (messageSay);', 그것은 문자 그대로 명령 함수 안에있는 코드입니다. ** 처음 **,이 코드를 사용해보십시오. ** 두 번째 **는 messageSay가 문자열이고 명령을 부분 문자열로 처리하지 않아도되는 방식입니다. ** 세 번째 **는 이전 코드에서 텍스트 채널에'message_b '를 보내고 그것이 이상하다는 것을 알아 차립니다. ** 마지막으로 ** 여기에 부분이 있습니다 :'Message [] '데이터 유형을 문자열로 직접 변환 할 수있는 방법이 없기 때문에 이전 코드가 작동하지 않습니다. 이는 배열이기 때문이며 Discord.NET에서도' 그런 종류의 기능이 아직 없습니다. – WQYeo
죄송합니다. 작동하지 않는 것 같습니다. – SugoiSheep