Telegram-бота для арбитражной торговли.
- 0
- 0
- Опубликовано: 2024-02-12
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using CcxSharp;
namespace ArbitrageBot
{
public class ArbitrageBot
{
private readonly TelegramBotClient _botClient;
private readonly List<Exchange> _exchanges;
public ArbitrageBot(string telegramBotToken, List<Exchange> exchanges)
{
_botClient = new TelegramBotClient(telegramBotToken);
_exchanges = exchanges;
}
public async Task Start()
{
_botClient.OnMessage += OnMessage;
_botClient.StartReceiving();
Console.WriteLine("Bot is running...");
}
private async Task OnMessage(object sender, MessageEventArgs e)
{
if (e.Message.Text == "/start")
{
await _botClient.SendTextMessageAsync(e.Message.Chat.Id, "Привет! Я бот для арбитражной торговли. Чтобы получить список сигналов, отправь команду /signals.");
}
else if (e.Message.Text == "/signals")
{
var signals = GetSignals();
var message = "Список сигналов:\n";
foreach (var signal in signals)
{
message += $"- {signal.Pair} ({signal.Exchange1} -> {signal.Exchange2}): {signal.Profit}%";
}
await _botClient.SendTextMessageAsync(e.Message.Chat.Id, message);
}
}
private List<Signal> GetSignals()
{
var prices = GetPrices();
var signals = new List<Signal>();
foreach (var pair in prices)
{
if (prices
Предыдущая работа | Все работы автора | Telegram-бота для арбитражной торговли. |