Asp.net web api 我怎样才能把电报频道的信息输入我的机器人?

Asp.net web api 我怎样才能把电报频道的信息输入我的机器人?,asp.net-web-api,Asp.net Web Api,我正在使用Telegeram.bot在.net上开发简单的电报bot 我已将我的bot(管理员)添加到公共频道,我希望从频道获取消息并将其重新发送给bot用户 但我有问题,这是我的代码 #region Properties private Api bot; string botToken = "Bot Token"; #endregion #region Constructor /// <summary> /// Basic constructor for the

我正在使用Telegeram.bot在.net上开发简单的电报bot 我已将我的bot(管理员)添加到公共频道,我希望从频道获取消息并将其重新发送给bot用户

但我有问题,这是我的代码

#region Properties
    private Api bot;
    string botToken = "Bot Token";
#endregion

#region Constructor
/// <summary>
/// Basic constructor for the api controller
/// </summary>
public WebhookController()
{
    bot = new Api(botToken);
}

#endregion

public async Task<IHttpActionResult> Post(Update update)
{
    var text = update.Message.Text;
    var chatType = update.Message.Chat.Type;

    if (chatType == ChatType.Channel)
    {

        // Send Text message to users that previusly we gathered their telegram id and saved them in our DB
        // ******Problem is here******
    }

    else if (chatType == ChatType.Private)

    {
        if (text != null && text.Contains("/start") || text.Contains("start"))
        {
            await bot.SendTextMessage(chatId: update.Message.Chat.Id, text: "START");
        }
    }
    else
    {
        await bot.SendTextMessage(chatId: update.Message.Chat.Id, text: "ERROR!!!");
    }

    return Ok();
}

public string Get()
{
    return "Yes Its Work";
}
#区域属性
私人机器人;
字符串botToken=“Bot Token”;
#端区
#区域构造函数
/// 
///api控制器的基本构造函数
/// 
公共WebhookController()
{
bot=新Api(botToken);
}
#端区
公共异步任务发布(更新)
{
var text=update.Message.text;
var chatType=update.Message.Chat.Type;
if(chatType==chatType.Channel)
{
//向用户发送短信,告知我们之前收集了他们的电报id并将其保存在数据库中
//*******问题就在这里******
}
else if(chatType==chatType.Private)
{
如果(text!=null&&text.Contains(“/start”)| | text.Contains(“start”))
{
等待bot.SendTextMessage(chatId:update.Message.Chat.Id,文本:“开始”);
}
}
其他的
{
等待bot.SendTextMessage(chatId:update.Message.Chat.Id,文本:“ERROR!!!”;
}
返回Ok();
}
公共字符串Get()
{
返回“是的,它的工作”;
}
但我有500个内部服务器错误

"Message": "An error has occurred.",
"ExceptionMessage": "Object reference not set to an instance of an object.",
"ExceptionType": "System.NullReferenceException",
"StackTrace": "   at CodeBlock.Bot.Engine.Controllers.webhookController.<Post>d__11.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__3`1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.AuthenticationFilterResult.<ExecuteAsync>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"
“消息”:“发生错误。”,
“ExceptionMessage”:“对象引用未设置为对象的实例。”,
“ExceptionType”:“System.NullReferenceException”,
“StackTrace”:“at CodeBlock.Bot.Engine.Controllers.webhookController.d_u11.MoveNext()\r\n--从引发异常的上一个位置开始的堆栈结束跟踪----\r\n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务任务)\r\n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n在System.Threading.Tasks.TaskHelperExtensions.d_u3`1.MoveNext()\r\n---从引发异常的上一个位置开始的堆栈结束跟踪----\r\n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务任务)\r\n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)\r\n位于System.Web.Http.Controllers.ApiControllerActionInvoker.d\u 0.MoveNext()\r\n---来自引发异常的上一个位置的堆栈结束跟踪----\r\n位于System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务)\r\n位于System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n位于System.Web.Http.Controllers.ActionFilterResult.d\u 2.MoveNext()\r\n---来自引发异常的上一个位置的堆栈结束跟踪----\r\n位于System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务任务)\r\n位于System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务任务任务任务)\r\n位于System.Web.Http.Controllers.AuthenticationFilterResult.d\u 0.MoveNext()\r\n---来自引发异常的上一个位置的堆栈结束跟踪----\r\n位于System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务任务)\r\n位于System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n位于System.Web.Http.Dispatcher.HttpControllerDispatcher.d_u1.MoveNext()