add help messages and turn rust backtrace on
This commit is contained in:
		@@ -50,11 +50,12 @@ EOF
 | 
				
			|||||||
      template {
 | 
					      template {
 | 
				
			||||||
        data = <<EOF
 | 
					        data = <<EOF
 | 
				
			||||||
{{with secret "kv/data/singh3/db"}}
 | 
					{{with secret "kv/data/singh3/db"}}
 | 
				
			||||||
DB_URL="postgresql://singh3:{{.Data.data.pass}}@{{env "NOMAD_ADDR_db"}}/singh3"
 | 
					DB_URL="postgresql://singh3:{{.Data.data.pass}}@localhost:5432/singh3"
 | 
				
			||||||
{{end}}
 | 
					{{end}}
 | 
				
			||||||
{{with secret "kv/data/singh3/discord"}}
 | 
					{{with secret "kv/data/singh3/discord"}}
 | 
				
			||||||
DISCORD_TOKEN="{{.Data.data.token}}"
 | 
					DISCORD_TOKEN="{{.Data.data.token}}"
 | 
				
			||||||
{{end}}
 | 
					{{end}}
 | 
				
			||||||
 | 
					RUST_BACKTRACE=1
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
        destination = "${NOMAD_SECRETS_DIR}/data.env"
 | 
					        destination = "${NOMAD_SECRETS_DIR}/data.env"
 | 
				
			||||||
        env = true
 | 
					        env = true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -118,6 +118,10 @@ pub async fn add(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
 | 
				
			|||||||
#[command]
 | 
					#[command]
 | 
				
			||||||
pub async fn rm(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
 | 
					pub async fn rm(ctx: &Context, msg: &Message, args: Args) -> CommandResult {
 | 
				
			||||||
    let query: String = args.raw().collect::<Vec<&str>>().join(" ");
 | 
					    let query: String = args.raw().collect::<Vec<&str>>().join(" ");
 | 
				
			||||||
 | 
					    if query == "" {
 | 
				
			||||||
 | 
					        msg.reply(ctx, "remove what?").await?;
 | 
				
			||||||
 | 
					        return Ok(());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    let data_read = ctx.data.read().await;
 | 
					    let data_read = ctx.data.read().await;
 | 
				
			||||||
    let db = data_read
 | 
					    let db = data_read
 | 
				
			||||||
        .get::<crate::Database>()
 | 
					        .get::<crate::Database>()
 | 
				
			||||||
@@ -200,6 +204,10 @@ pub async fn ls(ctx: &Context, msg: &Message, _: Args) -> CommandResult {
 | 
				
			|||||||
        .expect("Expected Database in TypeMap.")
 | 
					        .expect("Expected Database in TypeMap.")
 | 
				
			||||||
        .clone();
 | 
					        .clone();
 | 
				
			||||||
    let rows = db.query("select * from words", &[]).await?;
 | 
					    let rows = db.query("select * from words", &[]).await?;
 | 
				
			||||||
 | 
					    if rows.is_empty() {
 | 
				
			||||||
 | 
					        msg.reply(ctx, "No words stored").await?;
 | 
				
			||||||
 | 
					        return Ok(());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    msg.channel_id
 | 
					    msg.channel_id
 | 
				
			||||||
        .send_message(ctx, |mut m| {
 | 
					        .send_message(ctx, |mut m| {
 | 
				
			||||||
            let mut a: u32 = 1;
 | 
					            let mut a: u32 = 1;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										34
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								src/main.rs
									
									
									
									
									
								
							@@ -6,8 +6,16 @@ use commands::minigames::*;
 | 
				
			|||||||
use handler::Handler;
 | 
					use handler::Handler;
 | 
				
			||||||
use serenity::{
 | 
					use serenity::{
 | 
				
			||||||
    client::bridge::gateway::ShardManager,
 | 
					    client::bridge::gateway::ShardManager,
 | 
				
			||||||
    framework::{standard::macros::group, StandardFramework},
 | 
					    framework::{
 | 
				
			||||||
 | 
					        standard::{
 | 
				
			||||||
 | 
					            help_commands,
 | 
				
			||||||
 | 
					            macros::{group, help},
 | 
				
			||||||
 | 
					            Args, CommandGroup, CommandResult, HelpOptions,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        StandardFramework,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    http::Http,
 | 
					    http::Http,
 | 
				
			||||||
 | 
					    model::{channel::Message, id::UserId},
 | 
				
			||||||
    prelude::*,
 | 
					    prelude::*,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
use std::{collections::HashSet, env, sync::Arc};
 | 
					use std::{collections::HashSet, env, sync::Arc};
 | 
				
			||||||
@@ -35,6 +43,23 @@ struct Count;
 | 
				
			|||||||
#[commands(challenge)]
 | 
					#[commands(challenge)]
 | 
				
			||||||
struct Minigames;
 | 
					struct Minigames;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[help]
 | 
				
			||||||
 | 
					#[max_levenshtein_distance(2)]
 | 
				
			||||||
 | 
					#[indention_prefix = "+"]
 | 
				
			||||||
 | 
					#[lacking_role = "Nothing"]
 | 
				
			||||||
 | 
					#[wrong_channel = "Strike"]
 | 
				
			||||||
 | 
					async fn my_help(
 | 
				
			||||||
 | 
					    context: &Context,
 | 
				
			||||||
 | 
					    msg: &Message,
 | 
				
			||||||
 | 
					    args: Args,
 | 
				
			||||||
 | 
					    help_options: &'static HelpOptions,
 | 
				
			||||||
 | 
					    groups: &[&'static CommandGroup],
 | 
				
			||||||
 | 
					    owners: HashSet<UserId>,
 | 
				
			||||||
 | 
					) -> CommandResult {
 | 
				
			||||||
 | 
					    let _ = help_commands::with_embeds(context, msg, args, help_options, groups, owners).await;
 | 
				
			||||||
 | 
					    Ok(())
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[tokio::main]
 | 
					#[tokio::main]
 | 
				
			||||||
async fn main() {
 | 
					async fn main() {
 | 
				
			||||||
    let token = env::var("DISCORD_TOKEN").expect("Token daal madarchod");
 | 
					    let token = env::var("DISCORD_TOKEN").expect("Token daal madarchod");
 | 
				
			||||||
@@ -53,6 +78,7 @@ async fn main() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    let framework = StandardFramework::new()
 | 
					    let framework = StandardFramework::new()
 | 
				
			||||||
        .configure(|c| c.owners(owners).prefix(","))
 | 
					        .configure(|c| c.owners(owners).prefix(","))
 | 
				
			||||||
 | 
					        .help(&MY_HELP)
 | 
				
			||||||
        .group(&GENERAL_GROUP)
 | 
					        .group(&GENERAL_GROUP)
 | 
				
			||||||
        .group(&COUNT_GROUP)
 | 
					        .group(&COUNT_GROUP)
 | 
				
			||||||
        .group(&MINIGAMES_GROUP);
 | 
					        .group(&MINIGAMES_GROUP);
 | 
				
			||||||
@@ -66,6 +92,7 @@ async fn main() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        let db_url: String = env::var("DB_URL").expect("DB_URL not found");
 | 
					        let db_url: String = env::var("DB_URL").expect("DB_URL not found");
 | 
				
			||||||
 | 
					        println!("{}", db_url);
 | 
				
			||||||
        let (db_client, conn) = tokio_postgres::connect(&db_url, tokio_postgres::NoTls)
 | 
					        let (db_client, conn) = tokio_postgres::connect(&db_url, tokio_postgres::NoTls)
 | 
				
			||||||
            .await
 | 
					            .await
 | 
				
			||||||
            .expect("cant connect bha");
 | 
					            .expect("cant connect bha");
 | 
				
			||||||
@@ -75,7 +102,10 @@ async fn main() {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        let init_script = std::include_str!("../init.sql");
 | 
					        let init_script = std::include_str!("../init.sql");
 | 
				
			||||||
        db_client.batch_execute(init_script).await.expect("Couldn't run the init script");
 | 
					        db_client
 | 
				
			||||||
 | 
					            .batch_execute(init_script)
 | 
				
			||||||
 | 
					            .await
 | 
				
			||||||
 | 
					            .expect("Couldn't run the init script");
 | 
				
			||||||
        let mut data = client.data.write().await;
 | 
					        let mut data = client.data.write().await;
 | 
				
			||||||
        data.insert::<Database>(Arc::new(db_client));
 | 
					        data.insert::<Database>(Arc::new(db_client));
 | 
				
			||||||
        data.insert::<ShardManagerContainer>(client.shard_manager.clone());
 | 
					        data.insert::<ShardManagerContainer>(client.shard_manager.clone());
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user