PmEngine.Telegram
1.8.527.1359
See the version list below for details.
dotnet add package PmEngine.Telegram --version 1.8.527.1359
NuGet\Install-Package PmEngine.Telegram -Version 1.8.527.1359
<PackageReference Include="PmEngine.Telegram" Version="1.8.527.1359" />
paket add PmEngine.Telegram --version 1.8.527.1359
#r "nuget: PmEngine.Telegram, 1.8.527.1359"
// Install PmEngine.Telegram as a Cake Addin #addin nuget:?package=PmEngine.Telegram&version=1.8.527.1359 // Install PmEngine.Telegram as a Cake Tool #tool nuget:?package=PmEngine.Telegram&version=1.8.527.1359
PMEngine.Telegram
Модуль для работы с Telegram
Используемые переменные
В модуле используются следующие переменные среды:
BOT_TOKEN - Токен ТГ бота
HOST_URL - URL приложения, куда будут приходить запросы от Telegram
Подключение
Подключение модуля
Для подключения модуля необходимо просто добавить его в список сервисов
builder.Services.AddTelegramModule();
Так же при добавлении можно сконфигурировать модуль, например:
builder.Services.AddTelegramModule(tg => tg.DefaultInLineMessageAction = MessageActionType.Delete);
Настройка веб-хука
Для настройки веб-хука необходимо выполнить следующее
builder.Services.AddHttpClient("tgwebhook").AddTypedClient<ITelegramBotClient>(httpClient => new TelegramBotClient(envBotToken, httpClient));
...
app.UseEndpoints(ep =>
{
ep.MapControllerRoute(name: "tgwebhook",
pattern: $"TGBot/{envBotToken}",
new { controller = "TGBot", action = "Post" });
ep.MapControllers();
});
Создание контроллера
Для приема запросов от Telegram необходимо добавить в приложение свой контроллер. Пример простого контроллера приведен ниже:
public class TGBotController : ControllerBase
{
private readonly ILogger<TGBotController> _logger;
private readonly ITelegramBotClient _client;
private readonly IServiceProvider _serviceProvider;
public TGBotController(IServiceProvider services, ILogger<TGBotController> logger, ITelegramBotClient botClient)
{
_logger = logger;
_client = botClient;
_serviceProvider = services;
}
[HttpPost]
public async Task Post([FromBody] Update update)
{
var tgcontroller = new BaseTGController();
await tgcontroller.Post(update, _client, _logger, _serviceProvider);
}
}
Он использует класс BaseTGController
для обработки сообщений. Если вам необходимо обернуть обработку по-особому, то вы можете изменить логику контроллера на свою, опирась на код этого класса.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
- PmEngine.Core (>= 1.88.519.1754)
- RamjotSingh.EmojiNet (>= 0.1.0)
- Telegram.Bot (>= 19.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.8.1030.1245 | 72 | 10/30/2024 |
1.8.1016.1757 | 156 | 10/16/2024 |
1.8.1007.1939 | 128 | 10/7/2024 |
1.8.1007.1917 | 70 | 10/7/2024 |
1.8.1007.1857 | 78 | 10/7/2024 |
1.8.1007.1830 | 70 | 10/7/2024 |
1.8.1007.1829 | 64 | 10/7/2024 |
1.8.1007.1818 | 65 | 10/7/2024 |
1.8.527.1359 | 768 | 5/27/2024 |
1.8.527.1309 | 87 | 5/27/2024 |
1.8.527.1130 | 89 | 5/27/2024 |
1.8.520.2011 | 381 | 5/20/2024 |
1.8.519.1813 | 150 | 5/19/2024 |
1.8.519.1745 | 94 | 5/19/2024 |
1.8.519.1623 | 131 | 5/19/2024 |
1.8.519.1610 | 103 | 5/19/2024 |
1.8.518.1446 | 129 | 5/18/2024 |
1.8.516.2158 | 138 | 5/16/2024 |
1.8.516.2121 | 106 | 5/16/2024 |
1.8.516.1720 | 114 | 5/16/2024 |
1.8.412.1955 | 499 | 4/12/2024 |
1.1.411.1134 | 123 | 4/11/2024 |
1.1.205.1741 | 868 | 2/5/2024 |
1.1.205.1703 | 101 | 2/5/2024 |
1.1.109.1251 | 433 | 1/9/2024 |
1.0.1211.222 | 274 | 12/10/2023 |
1.0.1211.211 | 136 | 12/10/2023 |
1.0.1210.19 | 232 | 12/9/2023 |
1.0.1123.1914 | 164 | 11/23/2023 |