blastmud/blastmud_game/src/message_handler/new_session.rs

62 lines
21 KiB
Rust

use crate::db::DBPool;
use crate::message_handler::ListenerSession;
use crate::models::session::Session;
use crate::DResult;
use ansi::ansi;
use std::default::Default;
// ANSI art version of the symbol we are legally required to display per:
// https://www.legislation.gov.au/Details/F2017C00102
// https://dom111.github.io/image-to-ansi/ can help convert it.
const AUS_RATING_SYMBOL: &'static str = "\x1b[48;5;234m \x1b[38;5;252;48;5;235m▄\x1b[38;5;255;48;5;242m▄\x1b[38;5;15;48;5;250m▄\x1b[38;5;15;48;5;254m▄\x1b[38;5;15;48;5;255m▄▄▄\x1b[38;5;15;48;5;254m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[38;5;15;48;5;255m▄\x1b[38;5;255;48;5;254m▄\x1b[38;5;15;48;5;250m▄\x1b[38;5;15;48;5;242m▄\x1b[38;5;249;48;5;236m▄\x1b[38;5;237;48;5;234m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[m
\x1b[38;5;242;48;5;235m▄\x1b[38;5;255;48;5;251m▄\x1b[38;5;254;48;5;15m▄\x1b[38;5;240;48;5;254m▄\x1b[38;5;233;48;5;245m▄\x1b[38;5;233;48;5;239m▄\x1b[38;5;234;48;5;238m▄\x1b[38;5;234;48;5;239m▄\x1b[38;5;233;48;5;238m▄\x1b[38;5;234;48;5;237m▄\x1b[38;5;234;48;5;238m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[38;5;234;48;5;237m▄\x1b[38;5;233;48;5;240m▄\x1b[38;5;232;48;5;8m▄\x1b[38;5;239;48;5;255m▄\x1b[38;5;188;48;5;15m▄\x1b[38;5;15;48;5;250m▄\x1b[38;5;8;48;5;234m▄\x1b[38;5;232;48;5;234m▄\x1b[m
\x1b[38;5;254;48;5;250m▄\x1b[48;5;15m \x1b[38;5;239;48;5;246m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[38;5;234;48;5;234m▄▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;240;48;5;8m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;254;48;5;251m▄\x1b[38;5;235;48;5;233m▄\x1b[m
\x1b[38;5;254;48;5;254m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;238;48;5;238m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;232;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;233m▄\x1b[48;5;234m \x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[48;5;234m \x1b[38;5;235;48;5;233m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;236;48;5;238m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;254;48;5;254m▄\x1b[48;5;235m \x1b[m
\x1b[38;5;254;48;5;254m▄\x1b[48;5;15m \x1b[38;5;238;48;5;236m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;235;48;5;235m▄\x1b[48;5;235m \x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[48;5;234m \x1b[38;5;235;48;5;234m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;233;48;5;232m▄\x1b[38;5;239;48;5;238m▄\x1b[38;5;255;48;5;15m▄\x1b[38;5;254;48;5;255m▄\x1b[38;5;235;48;5;234m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;235m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;233;48;5;234m▄\x1b[48;5;234m \x1b[38;5;235;48;5;234m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;232;48;5;236m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;234m▄▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;234m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;236;48;5;232m▄\x1b[38;5;247;48;5;238m▄\x1b[38;5;254;48;5;245m▄\x1b[38;5;251;48;5;239m▄\x1b[38;5;237;48;5;232m▄\x1b[38;5;232;48;5;235m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;235m▄▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;234;48;5;235m▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;235;48;5;235m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;252;48;5;235m▄\x1b[38;5;247;48;5;7m▄\x1b[38;5;232;48;5;145m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;0;48;5;247m▄\x1b[38;5;248;48;5;254m▄\x1b[38;5;254;48;5;235m▄\x1b[38;5;234;48;5;234m▄▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;232;48;5;235m▄\x1b[38;5;237;48;5;233m▄\x1b[38;5;233;48;5;235m▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;233m▄\x1b[38;5;251;48;5;236m▄\x1b[38;5;247;48;5;7m▄\x1b[38;5;0;48;5;145m▄\x1b[38;5;0;48;5;234m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;232;48;5;235m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;0m▄\x1b[38;5;0;48;5;145m▄\x1b[38;5;248;48;5;254m▄\x1b[38;5;254;48;5;236m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;232;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;233;48;5;235m▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;238m▄\x1b[38;5;232;48;5;234m▄\x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;235;48;5;234m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;251;48;5;235m▄\x1b[38;5;248;48;5;251m▄\x1b[38;5;233;48;5;247m▄\x1b[38;5;247;48;5;59m▄\x1b[38;5;15;48;5;242m▄\x1b[38;5;255;48;5;8m▄\x1b[38;5;15;48;5;243m▄▄\x1b[38;5;15;48;5;242m▄\x1b[38;5;254;48;5;237m▄\x1b[38;5;247;48;5;233m▄\x1b[48;5;232m \x1b[38;5;233;48;5;248m▄\x1b[38;5;248;48;5;254m▄\x1b[38;5;7;48;5;237m▄\x1b[38;5;237;48;5;233m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;237;48;5;233m▄\x1b[38;5;8;48;5;233m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;241;48;5;233m▄\x1b[38;5;245;48;5;233m▄\x1b[38;5;8;48;5;233m▄\x1b[38;5;234;48;5;236m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;234;48;5;236m▄\x1b[38;5;235;48;5;234m▄▄▄\x1b[38;5;234;48;5;234m▄\x1b[48;5;234m \x1b[38;5;238;48;5;236m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;253;48;5;255m▄\x1b[38;5;234;48;5;235m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;236;48;5;238m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;232;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;7;48;5;234m▄\x1b[38;5;249;48;5;7m▄\x1b[38;5;233;48;5;248m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;232;48;5;0m▄\x1b[38;5;250;48;5;252m▄\x1b[48;5;15m \x1b[38;5;145;48;5;255m▄\x1b[38;5;234;48;5;188m▄\x1b[38;5;235;48;5;251m▄\x1b[38;5;236;48;5;255m▄\x1b[38;5;251;48;5;15m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;250;48;5;243m▄\x1b[38;5;234;48;5;0m▄\x1b[38;5;232;48;5;234m▄\x1b[38;5;233;48;5;249m▄\x1b[38;5;145;48;5;253m▄\x1b[38;5;252;48;5;237m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;102;48;5;238m▄\x1b[38;5;246;48;5;255m▄\x1b[38;5;254;48;5;255m▄\x1b[38;5;235;48;5;237m▄\x1b[38;5;251;48;5;239m▄\x1b[38;5;246;48;5;188m▄\x1b[38;5;0;48;5;247m▄\x1b[38;5;235;48;5;252m▄\x1b[38;5;254;48;5;250m▄\x1b[38;5;240;48;5;235m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;237;48;5;238m▄\x1b[48;5;15m \x1b[38;5;255;48;5;254m▄\x1b[38;5;234;48;5;235m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;239;48;5;239m▄\x1b[38;5;0;48;5;234m▄\x1b[38;5;238;48;5;232m▄\x1b[38;5;249;48;5;236m▄\x1b[38;5;248;48;5;251m▄\x1b[38;5;232;48;5;248m▄\x1b[38;5;232;48;5;235m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;7;48;5;249m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;253;48;5;246m▄\x1b[38;5;238;48;5;0m▄\x1b[38;5;237;48;5;234m▄\x1b[38;5;102;48;5;0m▄\x1b[38;5;254;48;5;145m▄\x1b[48;5;15m \x1b[38;5;248;48;5;252m▄\x1b[38;5;233;48;5;232m▄\x1b[38;5;234;48;5;236m▄\x1b[38;5;236;48;5;0m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;233;48;5;248m▄\x1b[38;5;247;48;5;253m▄\x1b[38;5;252;48;5;237m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;238;48;5;237m▄\x1b[38;5;255;48;5;188m▄\x1b[38;5;236;48;5;235m▄\x1b[38;5;238;48;5;249m▄\x1b[38;5;254;48;5;247m▄\x1b[38;5;250;48;5;0m▄\x1b[38;5;253;48;5;237m▄\x1b[38;5;248;48;5;254m▄\x1b[38;5;234;48;5;239m▄\x1b[38;5;232;48;5;234m▄\x1b[38;5;232;48;5;233m▄\x1b[38;5;102;48;5;239m▄\x1b[38;5;247;48;5;59m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;238;48;5;237m▄\x1b[48;5;15m \x1b[38;5;254;48;5;255m▄\x1b[38;5;235;48;5;234m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;239;48;5;236m▄\x1b[38;5;233;48;5;232m▄\x1b[38;5;235;48;5;102m▄\x1b[38;5;251;48;5;15m▄\x1b[38;5;247;48;5;233m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;232;48;5;233m▄\x1b[38;5;249;48;5;7m▄\x1b[38;5;15;48;5;255m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;253;48;5;15m▄\x1b[48;5;15m \x1b[38;5;15;48;5;15m▄\x1b[38;5;254;48;5;15m▄\x1b[38;5;237;48;5;252m▄\x1b[38;5;234;48;5;237m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;232;48;5;234m▄\x1b[38;5;247;48;5;232m▄\x1b[38;5;188;48;5;254m▄\x1b[38;5;235;48;5;252m▄\x1b[38;5;234;48;5;0m▄\x1b[38;5;237;48;5;237m▄\x1b[38;5;252;48;5;255m▄\x1b[38;5;238;48;5;233m▄\x1b[38;5;252;48;5;243m▄\x1b[38;5;240;48;5;188m▄\x1b[38;5;232;48;5;8m▄\x1b[38;5;233;48;5;145m▄\x1b[38;5;252;48;5;145m▄\x1b[38;5;243;48;5;235m▄\x1b[38;5;239;48;5;239m▄\x1b[38;5;248;48;5;246m▄\x1b[38;5;252;48;5;249m▄\x1b[38;5;252;48;5;254m▄\x1b[38;5;145;48;5;243m▄\x1b[38;5;8;48;5;240m▄\x1b[38;5;0;48;5;234m▄\x1b[38;5;237;48;5;239m▄\x1b[48;5;15m \x1b[38;5;253;48;5;253m▄\x1b[38;5;235;48;5;235m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;239;48;5;237m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;235;48;5;251m▄\x1b[38;5;252;48;5;248m▄\x1b[38;5;249;48;5;234m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;249;48;5;249m▄\x1b[38;5;255;48;5;15m▄\x1b[38;5;145;48;5;250m▄\x1b[38;5;232;48;5;0m▄\x1b[38;5;235;48;5;247m▄\x1b[38;5;255;48;5;15m▄\x1b[38;5;15;48;5;255m▄\x1b[38;5;251;48;5;240m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;0;48;5;234m▄\x1b[38;5;248;48;5;232m▄\x1b[38;5;252;48;5;248m▄\x1b[38;5;237;48;5;254m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;234;48;5;233m▄▄\x1b[38;5;238;48;5;238m▄\x1b[38;5;253;48;5;254m▄\x1b[38;5;238;48;5;236m▄\x1b[38;5;242;48;5;251m▄\x1b[38;5;253;48;5;243m▄\x1b[38;5;145;48;5;0m▄\x1b[38;5;249;48;5;233m▄\x1b[38;5;251;48;5;188m▄\x1b[38;5;237;48;5;242m▄\x1b[38;5;232;48;5;233m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;239;48;5;102m▄\x1b[38;5;242;48;5;248m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;238;48;5;238m▄\x1b[48;5;15m \x1b[38;5;254;48;5;253m▄\x1b[38;5;235;48;5;235m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;237m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;236;48;5;233m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;235;48;5;188m▄\x1b[38;5;252;48;5;248m▄\x1b[38;5;249;48;5;233m▄\x1b[38;5;0;48;5;232m▄\x1b[38;5;7;48;5;251m▄\x1b[38;5;15;48;5;255m▄\x1b[38;5;249;48;5;250m▄\x1b[38;5;233;48;5;232m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;236;48;5;246m▄\x1b[38;5;255;48;5;15m▄▄\x1b[38;5;254;48;5;239m▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;246;48;5;233m▄\x1b[38;5;254;48;5;247m▄\x1b[38;5;236;48;5;254m▄\x1b[38;5;232;48;5;237m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;242m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;232;48;5;240m▄\x1b[38;5;233;48;5;246m▄\x1b[38;5;234;48;5;243m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;236m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;235;48;5;234m▄\x1b[48;5;235m \x1b[38;5;233;48;5;233m▄\x1b[38;5;238;48;5;237m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;255;48;5;255m▄\x1b[38;5;234;48;5;234m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;237m▄\x1b[38;5;232;48;5;234m▄\x1b[38;5;236;48;5;235m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;232;48;5;236m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;232;48;5;235m▄\x1b[38;5;234;48;5;251m▄\x1b[38;5;188;48;5;248m▄\x1b[38;5;247;48;5;242m▄\x1b[38;5;235;48;5;245m▄\x1b[38;5;233;48;5;243m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;0;48;5;243m▄\x1b[38;5;233;48;5;247m▄\x1b[48;5;246m \x1b[38;5;252;48;5;7m▄\x1b[38;5;237;48;5;253m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;234m▄▄\x1b[38;5;234;48;5;235m▄▄\x1b[38;5;234;48;5;236m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;234;48;5;236m▄\x1b[38;5;234;48;5;234m▄▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;233;48;5;233m▄\x1b[38;5;239;48;5;239m▄\x1b[38;5;15;48;5;255m▄\x1b[48;5;255m \x1b[38;5;235;48;5;234m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[38;5;238;48;5;238m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;237;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;252m▄\x1b[38;5;251;48;5;246m▄\x1b[38;5;145;48;5;235m▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;247;48;5;234m▄\x1b[38;5;254;48;5;246m▄\x1b[38;5;237;48;5;252m▄\x1b[38;5;232;48;5;238m▄\x1b[38;5;233;48;5;232m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;236m▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;236;48;5;234m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;234;48;5;235m▄▄\x1b[38;5;235;48;5;234m▄▄\x1b[38;5;234;48;5;235m▄▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;238;48;5;238m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;254;48;5;254m▄\x1b[38;5;234;48;5;235m▄\x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;234m▄▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;237;48;5;7m▄\x1b[38;5;248;48;5;145m▄\x1b[38;5;254;48;5;233m▄\x1b[38;5;251;48;5;248m▄\x1b[38;5;237;48;5;253m▄\x1b[38;5;233;48;5;238m▄\x1b[38;5;234;48;5;0m▄\x1b[38;5;236;48;5;235m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;235m▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;232;48;5;238m▄\x1b[38;5;233;48;5;247m▄\x1b[38;5;233;48;5;238m▄\x1b[38;5;235;48;5;232m▄\x1b[38;5;235;48;5;233m▄\x1b[38;5;234;48;5;235m▄▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;234;48;5;233m▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;233;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄\x1b[48;5;234m \x1b[38;5;235;48;5;234m▄\x1b[48;5;234m \x1b[38;5;235;48;5;234m▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;233;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄▄▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[48;5;254m \x1b[48;5;15m \x1b[48;5;238m \x1b[48;5;233m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[48;5;235m \x1b[48;5;234m \x1b[38;5;234;48;5;234m▄\x1b[38;5;234;48;5;236m▄\x1b[38;5;235;48;5;233m▄▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;234;48;5;235m▄▄\x1b[38;5;234;48;5;234m▄\x1b[48;5;234m \x1b[48;5;238m \x1b[48;5;15m \x1b[48;5;254m \x1b[48;5;235m \x1b[m
\x1b[38;5;253;48;5;255m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;240;48;5;237m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;235;48;5;235m▄\x1b[38;5;234;48;5;234m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[38;5;233;48;5;236m▄\x1b[38;5;235;48;5;234m▄\x1b[38;5;234;48;5;232m▄\x1b[38;5;239;48;5;238m▄\x1b[38;5;255;48;5;15m▄\x1b[38;5;255;48;5;255m▄\x1b[38;5;234;48;5;234m▄\x1b[m
\x1b[38;5;242;48;5;145m▄\x1b[48;5;15m \x1b[38;5;255;48;5;245m▄\x1b[38;5;239;48;5;0m▄\x1b[38;5;234;48;5;233m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;234;48;5;234m▄\x1b[38;5;234;48;5;235m▄\x1b[38;5;232;48;5;233m▄\x1b[38;5;233;48;5;235m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[38;5;232;48;5;236m▄\x1b[38;5;233;48;5;234m▄▄\x1b[38;5;239;48;5;233m▄\x1b[38;5;254;48;5;102m▄\x1b[38;5;15;48;5;15m▄\x1b[38;5;8;48;5;253m▄\x1b[38;5;0;48;5;233m▄\x1b[m
\x1b[38;5;233;48;5;236m▄\x1b[38;5;237;48;5;249m▄\x1b[38;5;249;48;5;15m▄\x1b[38;5;15;48;5;253m▄\x1b[38;5;15;48;5;102m▄\x1b[38;5;15;48;5;238m▄▄\x1b[38;5;15;48;5;239m▄▄\x1b[38;5;15;48;5;238m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\x1b[38;5;15;48;5;59m▄\x1b[38;5;15;48;5;8m▄\x1b[38;5;15;48;5;254m▄\x1b[38;5;248;48;5;15m▄\x1b[38;5;238;48;5;145m▄\x1b[38;5;233;48;5;235m▄\x1b[38;5;235;48;5;234m▄\x1b[m
\x1b[49;38;5;233m▀▀\x1b[49;38;5;235m▀\x1b[49;38;5;242m▀\x1b[49;38;5;249m▀\x1b[49;38;5;254m▀\x1b[49;38;5;255m▀\x1b[49;38;5;253m▀▀\x1b[49;38;5;255m▀\x1b[49;38;5;254m▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀\x1b[49;38;5;255m▀\x1b[49;38;5;254m▀\x1b[49;38;5;7m▀\x1b[49;38;5;243m▀\x1b[49;38;5;235m▀\x1b[49;38;5;233m▀\x1b[49;38;5;234m▀\x1b[49;38;5;233m▀\x1b[m";
pub async fn handle(session: &ListenerSession, source: String, pool: &DBPool) -> DResult<()> {
pool.start_session(
session,
&Session {
source,
..Default::default()
},
)
.await?;
pool.queue_for_session(&session, Some(&(ansi!("\
Welcome to <red>BlastMud<reset> - a text-based post-apocalyptic \
game <bold>restricted to adults (18+)<reset>\r\n").to_owned() + AUS_RATING_SYMBOL + ansi!("\r\n\
Restricted to 18 and over. High impact violence. Online interactivity.\r\n\
\r\n\
Some commands to get you started:\r\n\
\t<bold>register <lt>username> <lt>password> <lt>email><reset> to register as a new user.\r\n\
\t<bold>login <lt>username> <lt>password><reset> to log in as an existing user.\r\n\
\t<bold>help<reset> to learn more.\r\n\
[Please contact staff@blastmud.org with any feedback or suggestions on how to \r\n\
improve Blastmud, to report any inappropriate user generated content or behaviour, or if you \r\n\
need any other help from the game's operators; use <bold>report abuse<reset> immediately after \r\n\
receiving any inappropriate message to store evidence].\r\n\
Blastmud's privacy policy: https://blastmud.org/privacy/\r\n")))).await?;
Ok(())
}