C# I';我正试图制作一条自动横幅信息,上面写着我';我缺少一个参数

C# I';我正试图制作一条自动横幅信息,上面写着我';我缺少一个参数,c#,discord,discord.net,C#,Discord,Discord.net,错误:“userbanked”没有重载与委托“Func”匹配 我知道我被禁止的用户消息缺少一个参数,我知道我必须在这个参数的括号中放一些东西,但是我完全不知道我到底应该放什么。我找了好一两个小时,也许答案就在我面前,但我不知道,但我仍然不知道该怎么办。我想我应该在括号里加一个变量,但我不确定是什么 public async Task RunBotAsync() { _client = new DiscordSocketClient(new DiscordSocketCon

错误:“userbanked”没有重载与委托“Func”匹配

我知道我被禁止的用户消息缺少一个参数,我知道我必须在这个参数的括号中放一些东西,但是我完全不知道我到底应该放什么。我找了好一两个小时,也许答案就在我面前,但我不知道,但我仍然不知道该怎么办。我想我应该在括号里加一个变量,但我不确定是什么

public async Task RunBotAsync()
    {
        _client = new DiscordSocketClient(new DiscordSocketConfig
        {
            LogLevel = LogSeverity.Verbose
        });
        _commands = new CommandService();
        _services = new ServiceCollection()
            .AddSingleton(_client)
            .AddSingleton(_commands)
            .BuildServiceProvider();

        string botToken = "Token";

        //event subscriptions
        _client.Log += Log;
        _client.UserJoined += UserJoined;
        _client.UserLeft += UserLeft;
        _client.UserBanned += UserBanned; //<- Error Line

        await RegisterCommandsAsync();

        await _client.LoginAsync(TokenType.Bot, botToken);

        await _client.StartAsync();

        await Task.Delay(-1);
    }

    private async Task UserBanned(SocketGuildUser user, IGuild bloop)
    {
        var guild = user.Guild;
        var announcements = _client.GetChannel(390418472783577088) as SocketTextChannel;
        await announcements.SendMessageAsync($"{user.Mention} was banned from the server.");
    }
公共异步任务RunBotAsync()
{
_client=new DiscordSocketClient(new DiscordSocketConfig
{
LogLevel=LogSeverity.Verbose
});
_commands=newcommandservice();
_服务=新服务集合()
.AddSingleton(_客户端)
.AddSingleton(_命令)
.BuildServiceProvider();
字符串botToken=“Token”;
//事件订阅
_client.Log+=Log;
_client.UserJoined+=UserJoined;
_client.UserLeft+=UserLeft;
_client.userbanked+=userbanked;//来自以下行:

_client.UserBanned += UserBanned;
引用的函数应该类似于以下内容

async Task UserBanned(SocketUser user, SocketGuild bloop)
{
    var guild = user.Guild;
    var announcements = _client.GetChannel(390418472783577088) as SocketTextChannel;
    await announcements.SendMessageAsync($"{user.Mention} was banned from the server.");
}


看起来您需要的是SocketGuild arg而不是IGuild界面。

为什么您的帖子中没有包含准确的错误消息?为什么您还没有确定是哪一行造成的?屏幕上就有这些详细信息。它们对我们也很有用。这样更好吗?我将IGuild更改为SocketGuild,但它是直到给我同样的错误。括号里应该有什么东西与之相关吗?这正是我的代码看起来的样子,但我仍然得到同样的错误。