init commit
This commit is contained in:
parent
6c9730f11e
commit
ac8cf3b489
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/target
|
1759
Cargo.lock
generated
Normal file
1759
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
16
Cargo.toml
Normal file
16
Cargo.toml
Normal file
@ -0,0 +1,16 @@
|
||||
[package]
|
||||
name = "discord-word-counter"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
tokio = { version = "1.21.2", features = ["macros", "rt-multi-thread"] }
|
||||
# songbird = { version = "0.3.2", features = ["yt-dlp"] }
|
||||
poise = { path = "../poise/", features = ["cache"] }
|
||||
dotenv = "0.15.0"
|
||||
anyhow = "1.0.75"
|
||||
url = "2.4.1"
|
||||
async-recursion = "1.0.5"
|
||||
|
@ -1,3 +1,4 @@
|
||||
# discord-bot-template
|
||||
|
||||
a quick rust-based discord bot template
|
||||
A quick rust-based discord bot template.
|
||||
|
||||
|
19
src/command.rs
Normal file
19
src/command.rs
Normal file
@ -0,0 +1,19 @@
|
||||
use std::hint::black_box;
|
||||
|
||||
use anyhow::Error;
|
||||
|
||||
use crate::Context;
|
||||
|
||||
|
||||
#[poise::command(slash_command, rename = "discord's command name", guild_only)]
|
||||
pub async fn example(
|
||||
ctx: Context<'_>,
|
||||
#[description = "input description shown in discord"]
|
||||
input: String
|
||||
) -> Result<(), Error> {
|
||||
// Do something...
|
||||
black_box(ctx);
|
||||
black_box(input);
|
||||
Ok(())
|
||||
}
|
||||
|
58
src/main.rs
Normal file
58
src/main.rs
Normal file
@ -0,0 +1,58 @@
|
||||
use poise::serenity_prelude as serenity;
|
||||
use dotenv;
|
||||
mod command;
|
||||
|
||||
pub struct Data {} // User data, which is stored and accessible in all command invocations
|
||||
type Context<'a> = poise::Context<'a, Data, anyhow::Error>;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
dotenv::dotenv().ok();
|
||||
let token = std::env::var("DISCORD_TOKEN").expect("missing DISCORD_TOKEN");
|
||||
|
||||
println!(r#"
|
||||
|
||||
/$$$$$$$$ /$$ /$$ /$$$$$$$ /$$
|
||||
|__ $$__/ | $$ | $$ | $$__ $$ | $$
|
||||
| $$ /$$$$$$ /$$$$$$/$$$$ /$$$$$$ | $$ /$$$$$$ /$$$$$$ /$$$$$$ | $$ \ $$ /$$$$$$ /$$$$$$
|
||||
| $$ /$$__ $$| $$_ $$_ $$ /$$__ $$| $$ |____ $$|_ $$_/ /$$__ $$ | $$$$$$$ /$$__ $$|_ $$_/
|
||||
| $$| $$$$$$$$| $$ \ $$ \ $$| $$ \ $$| $$ /$$$$$$$ | $$ | $$$$$$$$ | $$__ $$| $$ \ $$ | $$
|
||||
| $$| $$_____/| $$ | $$ | $$| $$ | $$| $$ /$$__ $$ | $$ /$$| $$_____/ | $$ \ $$| $$ | $$ | $$ /$$
|
||||
| $$| $$$$$$$| $$ | $$ | $$| $$$$$$$/| $$| $$$$$$$ | $$$$/| $$$$$$$ | $$$$$$$/| $$$$$$/ | $$$$/
|
||||
|__/ \_______/|__/ |__/ |__/| $$____/ |__/ \_______/ \___/ \_______/ |_______/ \______/ \___/
|
||||
| $$
|
||||
| $$
|
||||
|__/
|
||||
|
||||
Template Bot.
|
||||
Invite this bot with:
|
||||
|
||||
"#);
|
||||
|
||||
let intents =
|
||||
serenity::GatewayIntents::GUILD_VOICE_STATES |
|
||||
serenity::GatewayIntents::non_privileged();
|
||||
|
||||
|
||||
let framework = poise::Framework::builder()
|
||||
.options(poise::FrameworkOptions {
|
||||
commands: vec![
|
||||
command::example(),
|
||||
],
|
||||
..Default::default()
|
||||
})
|
||||
// un-comment songbird from Cargo.toml first.
|
||||
//.client_settings(songbird::register)
|
||||
.token(token)
|
||||
.intents(intents)
|
||||
.setup(|ctx, _ready, framework| {
|
||||
Box::pin(async move {
|
||||
poise::builtins::register_globally(ctx, &framework.options().commands).await?;
|
||||
|
||||
Ok(Data {})
|
||||
})
|
||||
});
|
||||
|
||||
framework.build().await.unwrap().start().await.unwrap();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user