예제 #1
0
        public static void Run([QueueTrigger("%TwitterNotifications%", Connection = "TwitchStreamStorage")] TwitchLib.Webhook.Models.Stream StreamEvent, ILogger log)
        {
            log.LogInformation($"TwitterEventHandler processing: {StreamEvent.UserName} type {StreamEvent.Type} started at {StreamEvent.StartedAt}");

            if (StreamEvent.Type != "live")
            {
                log.LogInformation($"TwitterEventHandler Processing event skipped. type: {StreamEvent.Type}");
                return;
            }


            string username;

            if (string.IsNullOrWhiteSpace(StreamEvent.Subscription.TwitterName))
            {
                username = StreamEvent.UserName;
                log.LogInformation($"TwitterEventHandler Stream username {username} will be used");
            }
            else
            {
                username = $"@{StreamEvent.Subscription.TwitterName}";
                log.LogInformation($"TwitterEventHandler Twitter username {username} will be used");
            }

            string streamUri = $"https://twitch.tv/{StreamEvent.UserName}";

            log.LogInformation($"TwitterEventHandler Stream Uri: {streamUri}");

            string myTweet = string.Format(TwitterTweetTemplate, streamUri, username, DateTime.UtcNow.ToString("u"));

            TwitterClient.PublishTweet(myTweet, log);
        }
        public static async Task Run(
            [QueueTrigger("%DiscordNotifications%", Connection = "TwitchStreamStorage")]
            TwitchLib.Webhook.Models.Stream StreamEvent,
            ILogger log)
        {
            log.LogInformation($"DiscordEventHandler processing: {StreamEvent.UserName} type {StreamEvent.Type} started at {StreamEvent.StartedAt}");

            if (StreamEvent.Type != "live")
            {
                log.LogInformation($"DiscordEventHandler Processing event skipped. type: {StreamEvent.Type}");
                return;
            }

            string username;

            if (string.IsNullOrWhiteSpace(StreamEvent.Subscription.DiscordName))
            {
                username = StreamEvent.UserName;
                log.LogInformation($"DiscordEventHandler Stream username {username} will be used");
            }
            else
            {
                username = $"<@{StreamEvent.Subscription.DiscordName}>";
                log.LogInformation($"DiscordEventHandler Discord username {username} will be used");
            }

            var game = await StreamEvent.GetGameName(log);

            log.LogInformation($"DiscordEventHandler game {game} will be used");

            string streamUri = $"https://twitch.tv/{StreamEvent.UserName}";

            log.LogInformation($"DiscordEventHandler Stream Uri: {streamUri}");

            var myDiscordMessage = new DiscordMessage()
            {
                Content = string.Format(DiscordMessageTemplate, streamUri, username, DateTime.UtcNow.ToString("u"), game)
            };

            await DiscordClient.SendDiscordMessageAsync(myDiscordMessage, log);
        }