有這樣做的幾種方法,第一種是創建具有命令專用通道:
var c = discord.CreatePrivateChannel(ulong userid);
,並從它像這樣發送消息:
await c.SendMessage("blabla");
和另一種方式是存儲用戶作爲對象,然後從中發送消息。
User u = null;
string findUser = e.GetArg("target");
u = e.Message.MentionedUsers.FirstOrDefault(); //checking mentioned users
u = e.Server.FindUsers(findUser).FirstOrDefault(); //looking for specified user in server
await u.SendMessage("HEY, wake up! ");
我的命令如下:
commands.CreateCommand("poke")
.Parameter("target", ParameterType.Required)
.Do(async (e) =>
{
ulong id;
User u = null;
string findUser = e.Args[0];
if (!string.IsNullOrWhiteSpace(findUser))
{
if (e.Message.MentionedUsers.Count() == 1)
u = e.Message.MentionedUsers.FirstOrDefault();
else if (e.Server.FindUsers(findUser).Any())
u = e.Server.FindUsers(findUser).FirstOrDefault();
else if (ulong.TryParse(findUser, out id))
u = e.Server.GetUser(id);
}
Console.WriteLine("[" + e.Server.Name + "]" + e.User.Name + " just poked " + u);
await u.SendMessage("HEY, wake up! ");
});