From 3d07413690c551d9f034c93af85ae8da5a495e14 Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 20 Apr 2024 02:31:40 +0000 Subject: spring cleaning (#165) * treewide: lightly refactor everything * once_cell -> std::sync * remove build.rs we can get our target at runtime * commands::copypasta: refactor selection * drop owo_colors * reactboard: always remove author from count * commands: better handle behavior outside of guilds * ci: garnix -> gha * nix: drop flake-parts & pre-commit-hooks * nix: fix rust flags in derivation * add gha badge to readme * ci: fail when format changes are made * ci: only run on push to main * nix: fix nil script * nix: add libiconv to darwin deps * ci: disable fail-fast * nix: fix actionlint & static checks * ci: add release gates * nix: fix nil check again * ci: give release gates unique names * ci: only build static packages in docker workflow * nix: move dev outputs to subflake * fix some typos * nix: cleanup checks & dev shell * add editorconfig --- src/consts.rs | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'src/consts.rs') diff --git a/src/consts.rs b/src/consts.rs index b108f34..0b12334 100644 --- a/src/consts.rs +++ b/src/consts.rs @@ -1,3 +1,36 @@ +#![allow(clippy::unreadable_literal)] +use std::sync::OnceLock; + +use poise::serenity_prelude::{Colour, Permissions, Scope}; + +pub fn bot_permissions() -> &'static Permissions { + static BOT_PERMISSIONS: OnceLock = OnceLock::new(); + BOT_PERMISSIONS.get_or_init(|| { + Permissions::MANAGE_ROLES + | Permissions::MANAGE_CHANNELS + | Permissions::KICK_MEMBERS + | Permissions::BAN_MEMBERS + | Permissions::MANAGE_NICKNAMES + | Permissions::VIEW_CHANNEL + | Permissions::MODERATE_MEMBERS + | Permissions::SEND_MESSAGES + | Permissions::CREATE_PUBLIC_THREADS + | Permissions::CREATE_PRIVATE_THREADS + | Permissions::SEND_MESSAGES_IN_THREADS + | Permissions::MANAGE_MESSAGES + | Permissions::MANAGE_THREADS + | Permissions::EMBED_LINKS + | Permissions::ATTACH_FILES + | Permissions::READ_MESSAGE_HISTORY + | Permissions::ADD_REACTIONS + }) +} + +pub fn bot_scopes() -> &'static Vec { + static BOT_SCOPES: OnceLock> = OnceLock::new(); + BOT_SCOPES.get_or_init(|| vec![Scope::Bot, Scope::ApplicationsCommands]) +} + pub const TEAMOJIS: [&str; 15] = [ "<:teawiecry:1056438041872433303>", "<:teawiederp:1056438043109757018>", @@ -64,3 +97,19 @@ pub const LORE: [&str; 22] = [ "Teawie is friends with BlÄhaj.", "Consuming Teawie, and other Teawie variants is not recommended, since it will allow Teawie to take over the consumer in the same way as being shot with a Teawie \"bullet\".", ]; + +pub enum Colors { + Blue, + Orange, + Red, +} + +impl From for Colour { + fn from(val: Colors) -> Self { + match val { + Colors::Blue => Colour::from(0x88C7FD), + Colors::Orange => Colour::from(0xFFB34A), + Colors::Red => Colour::from(0xFF5E4A), + } + } +} -- cgit v1.2.3