Ejemplo n.º 1
0
    public void Setup(string username, MessagingApp currentMessagingApp)
    {
        usernameLabel.text = username;
        //nicknameLabel.text = user.nickname;
        //userProfileImage.sprite = user.profilePicture;

        messagingApp = currentMessagingApp;
    }
Ejemplo n.º 2
0
        public static IMessagingApp GetMessagingApp(MessagingApp messagingApp, Logger logger, CryptoBotDbContext dbContext)
        {
            switch (messagingApp.MessagingAppType)
            {
            case Enumerations.MessagingAppEnum.Telegram:
                return(new TelegramMessagingApp(messagingApp, logger, dbContext));

            case Enumerations.MessagingAppEnum.Slack:
                // TODO:
                break;
            }
            return(null);
        }
Ejemplo n.º 3
0
        public TelegramMessagingApp(MessagingApp app, Logger logger, CryptoBotDbContext dbContext)
        {
            _app       = app;
            _logger    = logger;
            _dbContext = dbContext;

            if (!_app.MessagingAppSettings.Any() || _app.MessagingAppSettings.All(x => x.Key != Constants.Token))
            {
                throw new Exception("Missing settings for Telegram messaging app");
            }

            var token = _app.MessagingAppSettings?.Last(x => x.Key == Constants.Token)?.Value;

            // chat ID could be null. It needs a message to be sent from the user first, to activate it
            if (_app.MessagingAppSettings.Find(x => x.Key == Constants.ChatId) != null)
            {
                _chatId = Convert.ToInt32(_app.MessagingAppSettings.Last(x => x.Key == Constants.ChatId).Value);
            }

            _telegramBotClient            = new TelegramBotClient(token);
            _telegramBotClient.OnMessage += OnMessage;
            _telegramBotClient.StartReceiving();
        }