Discord bot c#获取用户信息(无参数)并发送回消息

Discord bot c#获取用户信息(无参数)并发送回消息,c#,bots,discord,userinfo,C#,Bots,Discord,Userinfo,嗨,我正在用c#做一个Discord机器人,我正在尝试获取使用该命令的人的用户信息(最好是用户名) 例如: 命令-?响应中的用户类型 (用户名为hammerhead) bot读取用户名并输出消息中的“锤头”和其他内容 我是使用参数还是可以避免我基本上不希望用户输入他们的名字我希望机器人自动这样做 [Command("response")] public async Task Response(CommandContext ctx, string firs

嗨,我正在用c#做一个Discord机器人,我正在尝试获取使用该命令的人的用户信息(最好是用户名) 例如: 命令-?响应中的用户类型 (用户名为hammerhead) bot读取用户名并输出消息中的“锤头”和其他内容

我是使用参数还是可以避免我基本上不希望用户输入他们的名字我希望机器人自动这样做

    [Command("response")]
  
    public async Task Response(CommandContext ctx, string first, String last, string email, string 
    affiliation)
    {

       
       //would something like this work I don't really know
        var username = Context.user;


        await ctx.Channel.SendMessageAsync(first + " " + last + " " + email + " " + affiliation+" 
        "+user ).ConfigureAwait(false);


        }

因为您没有指定使用哪个库,所以我将告诉您这两个库

DSharpPlus:

您的
CommandContext
有两个属性,分别称为
User
Member
。这两个都是调用您的命令的用户,由于参数名为
ctx
,您只需使用
ctx.user
ctx.Member
。区别在于用户类型。用户给您DiscordUser,而成员给您DiscordMember

文件:

Discord.Net:

DNet CommandContext也有一个用户属性。它会给你一个更好的类型。使用
ctx.User
调用它

文件:

Tldr

不管怎样,你都有这个想法。只需将
ctx
而不是
Context
,因为
ctx
CommandContext
参数的名称

旁注: 您可能需要研究使用字符串插值。
MS Docs:

噢,谢谢你帮了这么多忙,def最佳答案获奖了。