using Volo.Abp.Settings; namespace Sozsoft.Sender.Telegram; public interface ITelegramHttpClient { Task SendMessageAsync(string ChatId, string Message); } public sealed class TelegramHttpClient : SettingHttpClientBase, ITelegramHttpClient { public TelegramHttpClient(HttpClient httpClient, ISettingProvider settingProvider) : base(httpClient, settingProvider) { } public async Task SendMessageAsync(string ChatId, string Message) { var url = await GetSettingAsync(TelegramSettingNames.Url); var botToken = await GetSettingAsync(TelegramSettingNames.BotToken); var parseMode = await GetSettingAsync(TelegramSettingNames.ParseMode); // Bot API hatayı 4xx gövdesinde açıklar; durum kodunu fırlatmak açıklamayı kaybettirir. return await PostJsonAsync( $"{url?.TrimEnd('/')}/bot{botToken}/sendMessage", new TelegramPostMessageInput { chat_id = ChatId, text = Message, parse_mode = parseMode.IsNullOrWhiteSpace() ? null : parseMode, disable_web_page_preview = true }); } }