Исходник Гайд Скелет для телеграм бота

I Hate Twitch Rules
Пользователь
Статус
Оффлайн
Регистрация
5 Ноя 2020
Сообщения
181
Реакции[?]
72
Поинты[?]
0
Накидал за 15 минут простой скелет для телеграм бота. (Говнокода дохуя)
Сделал для тех, кому лень разбираться в апи Telegram.Bot

C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram;
using Telegram.Bot.Args;
using Telegram.Bot.Types.ReplyMarkups;
using System.Diagnostics;
using Telegram.Bot.Types.Enums;
using System.Threading;

namespace Telegram_Bot
{
    internal class Program
    {
        private static string token = "..."; // bot token
        private static TelegramBotClient client;

        static void Main(string[] args)
        {
            Console.WriteLine("[API] Пробую подключиться к API");
            try
            {
                client = new TelegramBotClient(token);
                client.StartReceiving();
                Console.WriteLine("[API] Соединение с API установлено");
                Console.WriteLine("[API] Вход осуществлен, как: " + client.GetMeAsync().Result);
                client.OnMessage += OnMessageHandler;
                Console.ReadLine();
                client.StopReceiving();
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("[ERROR] " + ex.Message);
                Console.ResetColor();
                Console.ReadKey();
            }
        }

        private static async void OnMessageHandler(object sender, MessageEventArgs e)
        {
            var msg = e.Message;
            if (msg.Text != null)
            {
                string userMsg = msg.Text;
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("[MESSAGE] " + msg.From.Username + ": " + userMsg);

                // все команды бота
                if (userMsg.Contains("Кто нажал тот лох"))
                {
                    await client.SendTextMessageAsync(msg.Chat.Id, "сам такой!!!!!", replyMarkup: GetButtons());
                }

                if (userMsg.Contains("Негр"))
                {
                    await client.SendPhotoAsync(
                        msg.Chat.Id,
                        photo: "https://www.hip-hop.ru/forum/img/2020/06/07/2918445edcbf3faf12c.jpg",
                        replyMarkup: GetButtons()
                        );
                }
            }
        }

        private static IReplyMarkup GetButtons()
        {
            return new ReplyKeyboardMarkup
            {
                Keyboard = new List<List<KeyboardButton>>
                {
                    new List<KeyboardButton> // 1 ряд кнопок
                    {
                        new KeyboardButton { Text = "Кто нажал тот лох" }, new KeyboardButton { Text = "Негр" }
                    }
                }
            };
        }
    }
}
Рекомендуется использовать версию Telegram.Bot 16.0.0
Методы по отправлению стикеров/голосовых и т.д можете посмотреть в документации
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad)


Если вы хотите добавить второй ряд кнопок, то просто скопируйте и вставьте первый ряд
C#:
                    new List<KeyboardButton> // 1 ряд кнопок
                    {
                        new KeyboardButton { Text = "Кто нажал тот лох" }, new KeyboardButton { Text = "Негр" }
                    },
                    new List<KeyboardButton> // 2 ряд кнопок
                    {
                        new KeyboardButton { Text = "хаха" }, new KeyboardButton { Text = "лох" }
                    }
ну и хуйня
 
Сверху Снизу