TelegramSimpleService 1.0.1
See the version list below for details.
dotnet add package TelegramSimpleService --version 1.0.1
NuGet\Install-Package TelegramSimpleService -Version 1.0.1
<PackageReference Include="TelegramSimpleService" Version="1.0.1" />
paket add TelegramSimpleService --version 1.0.1
#r "nuget: TelegramSimpleService, 1.0.1"
// Install TelegramSimpleService as a Cake Addin
#addin nuget:?package=TelegramSimpleService&version=1.0.1
// Install TelegramSimpleService as a Cake Tool
#tool nuget:?package=TelegramSimpleService&version=1.0.1
TelegramSimpleService
RU
Поддерживаемые платформы:
Проект нацелен как минимум на .NET Standard 2.0 и .NET Core 3.1.
Руководство использования:
Сервис написан на основе TelegramBot</br> Для начала работы с ботом необходимо получить token от BotFather Инструкция</br>
Инициализация сервиса
Для использования сервиса необходимо инициализировать его
namespace YourBot
{
private ITelegramService telegramService;
class Program
{
telegramService = new TelegramService();
}
}
Инициализация телеграм клиентов
Внутри сервиса лежит два статических объекта Client и Debugger с типом TelegramBotClient</br> Для их инициализации используйте соответствующие методы
TelegramBotClient client;
bool isCorrect = await telegramService.CheckBotToken("YOUR_TOKEN");
if (!isCorrect)
return;
client = await telegramService.CreateMainBot("YOUR_TOKEN");
TelegramBotClient debugger;
bool isCorrect = await telegramService.CheckBotToken("YOUR_TOKEN");
if (!isCorrect)
return;
debugger = await telegramService.CreateDebugBot("YOUR_TOKEN");
Для того чтобы прослушивать сообщения ботом необходимо создать класс имлементирующий интерфейс IUpdateHandler и вызвать метод StartMainBotReceiving - для прослушивания с основного бота или метод StartBotReceiving - для прослушивания с другого объекта TelegramBotClient
public class Handler : IUpdateHandler
{
public Task HandleErrorAsync(ITelegramBotClient botClient, Exception exception, CancellationToken cancellationToken)
{
//exceptions
}
public Task HandleUpdateAsync(ITelegramBotClient botClient, Update update, CancellationToken cancellationToken)
{
//your updates
}
}
CancelationTokenSource cts = await telegramService.StartMainBotReceiving(handler, new UpdateType[] { });
CancelationTokenSource cts = await telegramService.StartBotReceiving(client, handler, new UpdateType[] { });
При необходимости можно ограничить принимаемые типы указав их в параметре Доступные типы здесь
Пример:
CancelationTokenSource cts = await telegramService.StartMainBotReceiving(handler,
new UpdateType[]
{
UpdateType.Message,
UpdateType.CallbackQuery
});
Отправка логов
После инициализации дебагера CreateDebugBot можно использовать метод SendLog(uid, string) Этот метод позволяет отправлять лог с другого бота имеющего доступ к сообщениям Пример реализации
try
{
//some code
}
catch (Exception ex)
{
await telegramService.SendLog(id_for_debug, ex.Message);
}
Реализованные типы
Ниже указаны реализованные в сервисе типы сообщений (если последним параметром добавить клиент TelegramBotClient сообщение будет отправлено от него)
DeleteMessage - метод удаляет сообщение из чата
await telegramService.DeleteMessage(chat_id, message_id)
SendRemoveMessage - метод отправляет сообщение и удаляет клавиатуру
await telegramService.SendRemoveMessage(target_id, "text")
SendMessage - метод отправляет сообщение
await telegramService.SendMessage(target_id, "text")
SendMessageWithFile - метод отправляет сообщение с вложением, если указать параметр deleteFileWhenComplete = false файл остается на компьютере, по умолчанию = true, файл удаляется после отправки
await telegramService.SendMessageWithFile(target_id, "text", new FileStream("example.txt", FileMode.Open))
SendMessageWithKeyboard - метод отправляет сообщение с клавиатурой Метод перегружен и принимает ReplyKeyboardMarkup или InlineKeyboardMarkup
await telegramService.SendMessageWithKeyboard(target_id, "text", markup)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Telegram.Bot (>= 17.0.0)
- Telegram.Bot.Extensions.Polling (>= 1.0.2)
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.0.7.2 | 447 | 8/14/2022 |
1.0.7.1 | 404 | 8/7/2022 |
1.0.7 | 392 | 8/6/2022 |
1.0.6.5 | 446 | 2/18/2022 |
1.0.6.4 | 426 | 2/11/2022 |
1.0.6.3 | 437 | 2/10/2022 |
1.0.6.2 | 401 | 2/10/2022 |
1.0.6.1 | 449 | 1/24/2022 |
1.0.6 | 429 | 1/24/2022 |
1.0.5 | 232 | 1/16/2022 |
1.0.4 | 429 | 1/12/2022 |
1.0.3 | 263 | 1/12/2022 |
1.0.2 | 437 | 1/12/2022 |
1.0.1 | 439 | 1/11/2022 |