2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-08-31 14:45:14 +00:00

Allow creating approve-only invite links.

This commit is contained in:
John Preston
2021-10-12 12:39:07 +04:00
parent e471d61d7a
commit 3af3f85f82
20 changed files with 259 additions and 52 deletions

View File

@@ -50,51 +50,52 @@ struct NameUpdate {
};
struct PeerUpdate {
enum class Flag : uint32 {
enum class Flag : uint64 {
None = 0,
// Common flags
Name = (1U << 0),
Username = (1U << 1),
Photo = (1U << 2),
About = (1U << 3),
Notifications = (1U << 4),
Migration = (1U << 5),
UnavailableReason = (1U << 6),
ChatThemeEmoji = (1U << 7),
IsBlocked = (1U << 8),
MessagesTTL = (1U << 9),
Name = (1ULL << 0),
Username = (1ULL << 1),
Photo = (1ULL << 2),
About = (1ULL << 3),
Notifications = (1ULL << 4),
Migration = (1ULL << 5),
UnavailableReason = (1ULL << 6),
ChatThemeEmoji = (1ULL << 7),
IsBlocked = (1ULL << 8),
MessagesTTL = (1ULL << 9),
// For users
CanShareContact = (1U << 10),
IsContact = (1U << 11),
PhoneNumber = (1U << 12),
OnlineStatus = (1U << 13),
BotCommands = (1U << 14),
BotCanBeInvited = (1U << 15),
BotStartToken = (1U << 16),
CommonChats = (1U << 17),
HasCalls = (1U << 18),
SupportInfo = (1U << 19),
IsBot = (1U << 20),
CanShareContact = (1ULL << 10),
IsContact = (1ULL << 11),
PhoneNumber = (1ULL << 12),
OnlineStatus = (1ULL << 13),
BotCommands = (1ULL << 14),
BotCanBeInvited = (1ULL << 15),
BotStartToken = (1ULL << 16),
CommonChats = (1ULL << 17),
HasCalls = (1ULL << 18),
SupportInfo = (1ULL << 19),
IsBot = (1ULL << 20),
// For chats and channels
InviteLinks = (1U << 21),
Members = (1U << 22),
Admins = (1U << 23),
BannedUsers = (1U << 24),
Rights = (1U << 25),
InviteLinks = (1ULL << 21),
Members = (1ULL << 22),
Admins = (1ULL << 23),
BannedUsers = (1ULL << 24),
Rights = (1ULL << 25),
PendingRequests = (1ULL << 26),
// For channels
ChannelAmIn = (1U << 26),
StickersSet = (1U << 27),
ChannelLinkedChat = (1U << 28),
ChannelLocation = (1U << 29),
Slowmode = (1U << 30),
GroupCall = (1U << 31),
ChannelAmIn = (1ULL << 27),
StickersSet = (1ULL << 28),
ChannelLinkedChat = (1ULL << 29),
ChannelLocation = (1ULL << 30),
Slowmode = (1ULL << 31),
GroupCall = (1ULL << 32),
// For iteration
LastUsedBit = (1U << 31),
LastUsedBit = (1ULL << 32),
};
using Flags = base::flags<Flag>;
friend inline constexpr auto is_flag_type(Flag) { return true; }