public static string GetRecipientInfo() { if (ConfigReader.GetRecipientType() == "user" || ConfigReader.GetRecipientType() == "channel") { return($"'{ConfigReader.GetRecipientName()}'"); } else { throw new Exception("\nApp.config: invalid value for key['RecipientType'].\nValue must be 'user' or 'channel' only!"); } }
public static async Task SendMessageToChannelAsync(string message) { var client = NewClient(); await client.ConnectAsync(); // get user dialogs var dialogs = (TLDialogs)await client.GetUserDialogsAsync(); // find chat in contacts var chat = dialogs.Chats .Where(c => c.GetType() == typeof(TLChannel)) .Cast <TLChannel>() .FirstOrDefault(c => c.Title == ConfigReader.GetRecipientName()); // send message await client.SendMessageAsync(new TLInputPeerChannel() { ChannelId = chat.Id, AccessHash = chat.AccessHash.Value }, message); Logger.Log.Debug("Telegram message to Channel was sent successfully."); }
public static async Task SendMessageToUserAsync(string message) { var client = NewClient(); await client.ConnectAsync(); // get available contacts var result = await client.GetContactsAsync(); // find recipient in contacts TLUser user = result.Users.OfType <TLUser>().FirstOrDefault(x => x.Username == ConfigReader.GetRecipientName()); // send message await client.SendMessageAsync(new TLInputPeerUser() { UserId = user.Id }, message); Logger.Log.Debug("Telegram message to User was sent successfully."); }