Beispiel #1
0
        public async Task Announce(CommandContext ctx, string gameName, string streamName, string link, int?time = null)
        {
            if (time == null)
            {
                await BotInitSettings.GetAnnountmentsChannel(ctx.Guild)
                .SendMessageAsync(BotInitSettings.GetStreamSubscriberRole(ctx.Guild).Mention + " " +
                                  ctx.Member.Mention + " стримт " + gameName + " [" + streamName + "] " + link).ThrowTaskException();

                await ctx.Message.DeleteAsync();

                //don't write anything after it
            }
            else
            {
                var msg = await BotInitSettings.GetAnnountmentsChannel(ctx.Guild)
                          .SendMessageAsync(BotInitSettings.GetStreamSubscriberRole(ctx.Guild).Mention + " " +
                                            ctx.Member.Mention + " будует стримить " + gameName + " [" + streamName + "] через " + time.Value.ToString() + " мин.")
                          .ThrowTaskException();

                var emoji = DiscordEmoji.FromName(ctx.Client, ":eyes:");
                await msg.CreateReactionAsync(emoji).ThrowTaskException();

                await ctx.Message.DeleteAsync();

                await Task.Delay(time.Value * 60 * 1000);

                await Announce(ctx, gameName, streamName, link);
            }
        }
Beispiel #2
0
        public async Task UnsubscribeFromStreams(CommandContext ctx)
        {
            await ctx.Member.RevokeRoleAsync(BotInitSettings.GetStreamSubscriberRole(ctx.Guild));

            var msg = await ctx.Channel.SendMessageAsync(ctx.Member.Mention + " отподписался от стримов");

            await ctx.Message.DeleteAsync();

            await Task.Delay(3000);

            await msg.DeleteAsync();
        }
Beispiel #3
0
        public async Task SubscribeToStreams(CommandContext ctx)
        {
            await ctx.Member.GrantRoleAsync(BotInitSettings.GetStreamSubscriberRole(ctx.Guild));

            var msg = await ctx.Channel.SendMessageAsync(ctx.Member.Mention + " подписался на стримы");

            await ctx.Message.DeleteAsync();

            await Task.Delay(3000);

            await msg.DeleteAsync();
        }