@ -1,16 +1,16 @@
use rand ::seq ::IteratorRandom ;
use serde_json ::Map ;
use serde_json ::Value ;
use serenity ::framework ::standard ::{ Args , CommandResult } ;
use serenity ::framework ::standard ::{ Args , CommandResult } ;
use serenity ::model ::prelude ::* ;
use serenity ::model ::prelude ::* ;
use serenity ::prelude ::* ;
use serenity ::prelude ::* ;
use std ::env ;
use std ::fs ;
use std ::fs ;
use serde_json ::Map ;
use serde_json ::Value ;
use std ::fs ::File ;
use std ::fs ::File ;
use std ::fs ::OpenOptions ;
use std ::fs ::OpenOptions ;
use std ::io ::Read ;
use std ::io ::Read ;
use std ::io ::Write ;
use std ::io ::Write ;
use std ::process ::Command ;
use std ::process ::Command ;
use rand ::seq ::IteratorRandom ;
use std ::env ;
pub fn get_challenge_number ( ) -> i32 {
pub fn get_challenge_number ( ) -> i32 {
let challenge_dir = format! ( "{}/content/challenges" , env ::var ( "HUGO" ) . unwrap ( ) ) ;
let challenge_dir = format! ( "{}/content/challenges" , env ::var ( "HUGO" ) . unwrap ( ) ) ;
@ -107,7 +107,6 @@ pub fn rebuild_site() {
. expect ( "Failed to rebuild site" ) ;
. expect ( "Failed to rebuild site" ) ;
}
}
pub fn get_guild_data_path ( ) -> String {
pub fn get_guild_data_path ( ) -> String {
env ::var ( "GUILD_DATA" ) . unwrap ( )
env ::var ( "GUILD_DATA" ) . unwrap ( )
}
}
@ -148,7 +147,13 @@ pub fn set_guild_data(guild_data: Map<String, Value>) {
. unwrap ( ) ;
. unwrap ( ) ;
}
}
pub async fn send ( ctx : & Context , msg : & Message , message : & str , ping : bool , pin : bool ) -> CommandResult {
pub async fn send (
ctx : & Context ,
msg : & Message ,
message : & str ,
ping : bool ,
pin : bool ,
) -> CommandResult {
let guild_data = get_guild_data ( ) ;
let guild_data = get_guild_data ( ) ;
let mut announcements_count = 0 ;
let mut announcements_count = 0 ;
for ( _guild , data ) in guild_data . iter ( ) {
for ( _guild , data ) in guild_data . iter ( ) {
@ -211,8 +216,12 @@ pub fn get_so_diagram(kanji: char) -> String {
)
)
}
}
pub async fn display_kanji (
pub async fn display_kanji ( ctx : & Context , msg : & Message , kanji : char , comment : & str ) -> CommandResult {
ctx : & Context ,
msg : & Message ,
kanji : char ,
comment : & str ,
) -> CommandResult {
msg . reply ( & ctx . http , format! ( "{}{}" , kanji , comment ) )
msg . reply ( & ctx . http , format! ( "{}{}" , kanji , comment ) )
. await ? ;
. await ? ;
let url = get_so_diagram ( kanji ) ;
let url = get_so_diagram ( kanji ) ;