无法使用ngrok在本地测试我的Telegram Bot

时间:2018-08-13 20:34:00

标签: c# visual-studio-code telegram telegram-bot ngrok

我正在尝试使用ngrok和nuget包Telegram.Bot.Core测试我的Telegram Bot ... 这些是我目前正在执行的步骤:
1)我使用lampp启动Web服务器(因为我使用的是Arch Linux)
2)然后,使用以下命令启动ngrok:ngrok http 8443
3)最后一步...我运行我的代码示例:

myBot.SetWebhookAsync("https://address.ngrok.io").Wait();

myBot.StartReceiving(Array.Empty<UpdateType>());
Console.WriteLine("Starting Receiving");
Console.ReadLine();
myBot.StopReceiving();

问题在于localhost:8443无法访问,我不知道为什么。
我尝试在launch.json的配置属性中添加“ debugServer”:8443,但是localhost:8443仍然无法访问..我在做什么错了?

1 个答案:

答案 0 :(得分:0)

要共享本地主机并使用ngrok测试Telegram Bot,您应该执行以下步骤:

-步骤1

编辑位于../.vs/config/applicationhost.config中的Visual Studio应用程序配置文件(从您的项目根文件夹开始)。

找到绑定标记并向其添加第二个绑定标记(“刚删除的“ localhost”):

<configuration>
...
    <sites>
    ...
        <site ...>
            <bindings>
                <binding protocol="http" bindingInformation="*:5000:localhost" />
                <binding protocol="http" bindingInformation="*:5000:" />
            </bindings>
        </site>
    ...
    </sites>
...
</configuration>

请注意,不要将此步骤绑定到使用8080端口的标签。

-步骤2

以管理员身份运行Visual Studio并打开您的项目。

-步骤3

关闭防火墙。

-步骤4

运行ngrok并键入“ ngrok http 8443”命令,然后输入。

-步骤5

打开您喜欢的浏览器之一,然后转到api.telegram.org/bot<Token>/setwebhook?url=<Domain>地址。

此URL中是您的机器人令牌,也是您使用https的ngrok转发地址。

(例如:https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/setwebhook?url=https://01e08160.ngrok.io/api/Update