Exemple #1
0
            public async Task Gibinvite(CommandContext ctx, int max_uses = 1, int age = 0)
            {
                DiscordChannel channel = await ctx.Client.GetChannelAsync(230004550973521932);

                DiscordInvite inv = await channel.CreateInviteAsync(age, max_uses, false, true, $"gibinvite command used in {ctx.Channel.Id}");

                DiscordDmChannel chan = await ctx.Member.CreateDmChannelAsync();

                await chan.SendMessageAsync($"Here's the invite you asked for: https://discord.gg/{inv.Code}");

                await ctx.Channel.SendMessageAsync($"{Program.cfgjson.Emoji.Check} I've DMed you an invite to **Erisa's Corner** with `{max_uses}` use(s) and an age of `{age}`!");
            }
Exemple #2
0
        //TODO needs thorough testing
        async Task AttemptInformPermittedMembersDirectly(DiscordMember channelCreator, DiscordChannel createdVoiceChannel, IEnumerable <DiscordMember> permittedAndAuthorizedMembers)
        {
            DiscordInvite newInvite = await createdVoiceChannel.CreateInviteAsync();

            foreach (DiscordMember member in permittedAndAuthorizedMembers)
            {
                DiscordDmChannel currentMemberDm;
                try { currentMemberDm = await member.CreateDmChannelAsync(); }
                catch (Exception) { continue; }

                if (currentMemberDm is null)
                {
                    continue;
                }

                await currentMemberDm.SendMessageAsync($"You were whitelisted to join a VC by {channelCreator.Nickname ?? channelCreator.DisplayName} in {createdVoiceChannel.Guild.Name}. Click this link to immediately join the channel: {newInvite}");
            }
        }
Exemple #3
0
        internal override async Task Execute(CommandObjects CommandObject)
        {
            string[] msgs = CommandObject.CommandArgs.Remove(0);

            if (msgs.Length == 0)
            {
                Log.Debug("Channel is null");

                DiscordChannel DefaultChannel = CommandObject.Guild.GetDefaultChannel();
                Console.WriteLine(DefaultChannel.Name);
                DiscordInvite Invite = await DefaultChannel.CreateInviteAsync();

                string InviteUrl = "https://discord.gg/" + Invite.Code;
                string Message   = string.Format(CommandObject.Language.InviteResult, InviteUrl);
                await CommandObject.Message.Channel.SendMessageAsync(Message);

                return;
            }

            string InviteText     = msgs[0];
            string InviteIDString = InviteText.TrimStart('<', '#').TrimEnd('>');

            if (!ulong.TryParse(InviteIDString, out ulong InviteID))
            {
                await CommandObject.Message.Channel.SendMessageAsync(CommandObject.Language.InviteChannelNotFound);

                return;
            }

            try {
                DiscordChannel GetChannel = CommandObject.Guild.GetChannel(InviteID);
                DiscordInvite  Invite     = await GetChannel.CreateInviteAsync();

                string InviteUrl = "https://discord.gg/" + Invite.Code;
                string Message   = string.Format(CommandObject.Language.InviteResult, InviteUrl);
                await CommandObject.Message.Channel.SendMessageAsync(Message);
            }
            catch (NullReferenceException) {
                Log.Warning("Channel ID is not found");
                await CommandObject.Message.Channel.SendMessageAsync(CommandObject.Language.InviteChannelIdNotFound);
            }
        }
Exemple #4
0
    private async Task SetupGuildDefaults(DiscordGuild guild)
    {
        if (Guild == null)
        {
            Guild = guild;
            try
            {
                InformationChannel = await guild.CreateChannelAsync("Information", ChannelType.Text);

                SpawnEnemiesChannel = await guild.CreateChannelAsync("SpawnEnemies", ChannelType.Text);

                IncomeFeedChannel = await guild.CreateChannelAsync("IncomeFeed", ChannelType.Text);

                CheckBalanceChannel = await guild.CreateChannelAsync("CheckBalance", ChannelType.Text);
            }
            catch { }
            var invite = await InformationChannel.CreateInviteAsync();

            Debug.Log($"{Log.Timestamp()} Join: https://discord.gg/{invite.Code}");
            PushNotification.Instance.Add($"Join: https://discord.gg/{invite.Code}", PushColor.Success);
        }
    }