Merge pull request #234 from dev-kittens/feature/public-reminder
Add "member is public" reminder message on member creation
This commit is contained in:
		| @@ -2,6 +2,8 @@ using System.Linq; | ||||
| using System.Threading.Tasks; | ||||
| using System.Collections.Generic; | ||||
|  | ||||
| using Dapper; | ||||
|  | ||||
| using PluralKit.Core; | ||||
|  | ||||
| namespace PluralKit.Bot | ||||
| @@ -47,6 +49,10 @@ namespace PluralKit.Bot | ||||
|              | ||||
|             // Send confirmation and space hint | ||||
|             await ctx.Reply($"{Emojis.Success} Member \"{memberName}\" (`{member.Hid}`) registered! Check out the getting started page for how to get a member up and running: https://pluralkit.me/start#create-a-member"); | ||||
|             if (await _db.Execute(conn => conn.QuerySingleAsync<bool>("select has_private_members(@System)", | ||||
|                 new {System = ctx.System.Id}))) //if has private members | ||||
|                 await ctx.Reply($"{Emojis.Warn} This member is currently **public**. To change this, use `pk;member {member.Hid} private`."); | ||||
|  | ||||
|             if (memberName.Contains(" ")) | ||||
|                 await ctx.Reply($"{Emojis.Note} Note that this member's name contains spaces. You will need to surround it with \"double quotes\" when using commands referring to it, or just use the member's 5-character ID (which is `{member.Hid}`)."); | ||||
|             if (memberCount >= memberLimit) | ||||
| @@ -84,4 +90,4 @@ namespace PluralKit.Bot | ||||
|             await ctx.Reply(embed: await _embeds.CreateMemberEmbed(system, target, ctx.Guild, ctx.LookupContextFor(system))); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -86,6 +86,15 @@ as $$ | ||||
|     where accounts.uid = account_id | ||||
| $$ language sql stable rows 10; | ||||
|  | ||||
| create function has_private_members(system_hid int) returns bool as $$ | ||||
| declare m int; | ||||
| begin | ||||
|     m := count(id) from members where system = system_hid and member_visibility = 2; | ||||
|     if m > 0 then return true; | ||||
|     else return false; | ||||
|     end if; | ||||
| end | ||||
| $$ language plpgsql; | ||||
|  | ||||
| create function generate_hid() returns char(5) as $$ | ||||
|     select string_agg(substr('abcdefghijklmnopqrstuvwxyz', ceil(random() * 26)::integer, 1), '') from generate_series(1, 5) | ||||
|   | ||||
| @@ -9,6 +9,7 @@ drop view if exists group_list; | ||||
|  | ||||
| drop function if exists message_context; | ||||
| drop function if exists proxy_members; | ||||
| drop function if exists has_private_members; | ||||
| drop function if exists generate_hid; | ||||
| drop function if exists find_free_system_hid; | ||||
| drop function if exists find_free_member_hid; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user