50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Telegram.Bot;
|
|
using Telegram.Bot.Exceptions;
|
|
using Telegram.Bot.Polling;
|
|
using Telegram.Bot.Types;
|
|
using Telegram.Bot.Types.Enums;
|
|
|
|
namespace SignalsTest
|
|
{
|
|
public class Messenger
|
|
{
|
|
TelegramBotClient botClient;
|
|
|
|
private static Messenger m_instance;
|
|
public static Messenger instance { get { if (m_instance == null) { m_instance = new Messenger(); } return m_instance; } }
|
|
public const string chatId = "@doralockscryptosignals";
|
|
//prod:doralockscryptosignals
|
|
//test:SignalTestPrivate
|
|
|
|
|
|
public async Task SendMessage(string text, string chat =chatId)
|
|
{
|
|
await botClient.SendTextMessageAsync(chat, text);
|
|
}
|
|
|
|
public async Task SendLastChart(string chat = chatId, string filename="test"){
|
|
FileStream fsSource = new FileStream($"{filename}.png", FileMode.Open, FileAccess.Read);
|
|
InputFile photo = InputFile.FromStream(fsSource);
|
|
await botClient.SendPhotoAsync(chat, photo);
|
|
Console.WriteLine("Photo sent success");
|
|
}
|
|
|
|
public Messenger()
|
|
{
|
|
botClient = new TelegramBotClient("6878629725:AAGWFqmtsvf2xFLOTvsixY-LEG4ho2sLqrw");
|
|
using CancellationTokenSource cts = new();
|
|
|
|
// StartReceiving does not block the caller thread. Receiving is done on the ThreadPool.
|
|
ReceiverOptions receiverOptions = new()
|
|
{
|
|
AllowedUpdates = Array.Empty<UpdateType>() // receive all update types except ChatMember related updates
|
|
};
|
|
}
|
|
}
|
|
}
|