I Hate Twitch Rules
-
Автор темы
- #1
Накидал за 15 минут простой скелет для телеграм бота. (Говнокода дохуя)
Сделал для тех, кому лень разбираться в апи Telegram.Bot
Рекомендуется использовать версию Telegram.Bot 16.0.0
Методы по отправлению стикеров/голосовых и т.д можете посмотреть в документации
Если вы хотите добавить второй ряд кнопок, то просто скопируйте и вставьте первый ряд
ну и хуйня
Сделал для тех, кому лень разбираться в апи 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 = "Негр" }
}
}
};
}
}
}
Методы по отправлению стикеров/голосовых и т.д можете посмотреть в документации
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad)Если вы хотите добавить второй ряд кнопок, то просто скопируйте и вставьте первый ряд
C#:
new List<KeyboardButton> // 1 ряд кнопок
{
new KeyboardButton { Text = "Кто нажал тот лох" }, new KeyboardButton { Text = "Негр" }
},
new List<KeyboardButton> // 2 ряд кнопок
{
new KeyboardButton { Text = "хаха" }, new KeyboardButton { Text = "лох" }
}