Discord C# 用户加入消息
Discord C# User Join messages
我在 C# 中使用 Discord.Net,制作一个机器人。到目前为止,我的机器人运行良好,但我希望它在用户加入特定服务器时自动为其分配特定角色。我从来没有真正学过任何 C#,只学过一点 C++,所以我知道基本的语法。我该怎么做?
我假设我会使用 UserJoined,但是这样做会告诉我在 += 或 -+ 之前或之后使用它(我理解,但我不明白它在这个给定场景中是否有用)
您提供的信息很少,但以下是所有版本中的操作方法(到目前为止):
这在依赖映射中,但低于 "handlecommand"、CommandHandleAsync 或 HandleCommandAsync:
client.UserJoined += AnnounceJoinedUser; //Hook into the UserJoined event of the client.
这是在依赖图下:
public async Task AnnounceJoinedUser(SocketGuildUser user) //Welcomes the new user
{
var channel = client.GetChannel(/*/TextChannelID/*/) as SocketTextChannel; // Gets the channel to send the message in
await channel.SendMessageAsync($"Welcome {user.mention} to {channel.Guild.Name}"); //Welcomes the new user
}
如果您想直接向加入的用户发送消息
client.UserJoined += HandleUserJoinedAsync;
private async Task HandleUserJoinedAsync(SocketGuildUser gUser)
{
if (gUser.IsBot || gUser.IsWebhook) return;
var dmChannel = await gUser.GetOrCreateDMChannelAsync();
await dmChannel.SendMessageAsync("Witaj");
}
对于所有需要答案的人,在此期间,我将这段代码留给您,只是为了向用户的加入发送消息,(1行):
Client.UserJoined += join;
private async Task join(SocketGuildUser user)
{
await (user.Guild.DefaultChannel).SendMessageAsync("Text")
return;
}
我在 C# 中使用 Discord.Net,制作一个机器人。到目前为止,我的机器人运行良好,但我希望它在用户加入特定服务器时自动为其分配特定角色。我从来没有真正学过任何 C#,只学过一点 C++,所以我知道基本的语法。我该怎么做? 我假设我会使用 UserJoined,但是这样做会告诉我在 += 或 -+ 之前或之后使用它(我理解,但我不明白它在这个给定场景中是否有用)
您提供的信息很少,但以下是所有版本中的操作方法(到目前为止):
这在依赖映射中,但低于 "handlecommand"、CommandHandleAsync 或 HandleCommandAsync:
client.UserJoined += AnnounceJoinedUser; //Hook into the UserJoined event of the client.
这是在依赖图下:
public async Task AnnounceJoinedUser(SocketGuildUser user) //Welcomes the new user
{
var channel = client.GetChannel(/*/TextChannelID/*/) as SocketTextChannel; // Gets the channel to send the message in
await channel.SendMessageAsync($"Welcome {user.mention} to {channel.Guild.Name}"); //Welcomes the new user
}
如果您想直接向加入的用户发送消息
client.UserJoined += HandleUserJoinedAsync;
private async Task HandleUserJoinedAsync(SocketGuildUser gUser)
{
if (gUser.IsBot || gUser.IsWebhook) return;
var dmChannel = await gUser.GetOrCreateDMChannelAsync();
await dmChannel.SendMessageAsync("Witaj");
}
对于所有需要答案的人,在此期间,我将这段代码留给您,只是为了向用户的加入发送消息,(1行):
Client.UserJoined += join;
private async Task join(SocketGuildUser user)
{
await (user.Guild.DefaultChannel).SendMessageAsync("Text")
return;
}