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); } }
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(); }
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(); }