예제 #1
0
        public CommandContext(TwitchClient botClient, TwitchClient userClient, TwitchAPI twitchApi, ChatCommand context, CommandFactory factory, ApplicationSettings settings, bool fromConsole = false)
        {
            BotClient   = botClient;
            UserClient  = userClient;
            TwitchApi   = twitchApi;
            Context     = context;
            Settings    = settings;
            FromConsole = fromConsole;

            Commands = factory.ToList();

            // Provide information to the ChatMessageContext
            ChatMessage = new ChatMessageContext();
            if (context != null)
            {
                ChatMessage.Bits                     = context.ChatMessage.Bits;
                ChatMessage.IsChatBot                = fromConsole;
                ChatMessage.DisplayName              = context.ChatMessage.DisplayName;
                ChatMessage.IsBroadcaster            = context.ChatMessage.IsBroadcaster;
                ChatMessage.IsModerator              = context.ChatMessage.IsModerator;
                ChatMessage.IsModeratorOrBroadcaster = context.ChatMessage.IsBroadcaster || context.ChatMessage.IsModerator;
                ChatMessage.IsSubscriber             = context.ChatMessage.IsSubscriber;
                ChatMessage.Message                  = context.ChatMessage.Message;
            }

            // Provide information to the TwitchStreamContext
            TwitchStream = new TwitchStreamContext();
            var channel = TwitchApi.Channels.v3.GetChannelByNameAsync(UserClient.TwitchUsername).ConfigureAwait(false).GetAwaiter().GetResult();

            TwitchStream.Game     = channel.Game;
            TwitchStream.Title    = channel.Status;
            TwitchStream.Username = UserClient.TwitchUsername;
        }
예제 #2
0
 public ChatMessageRepo()
 {
     _chatMessageContext = new ChatMessageContext();
 }