Bump version and cleanup code

Signed-off-by: trivernis <trivernis@protonmail.com>
pull/7/head
trivernis 3 years ago
parent fd13f7ae64
commit 4d290a5091
Signed by: Trivernis
GPG Key ID: DFFFCC2C7A02DB45

2
Cargo.lock generated

@ -2280,7 +2280,7 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tobi-rs"
version = "0.2.1"
version = "0.2.2"
dependencies = [
"aspotify",
"bot-coreutils",

@ -1,6 +1,6 @@
[package]
name = "tobi-rs"
version = "0.2.1"
version = "0.2.2"
authors = ["trivernis <trivernis@protonmail.com>"]
edition = "2018"

@ -13,7 +13,9 @@ pub async fn run_command_async(command: &str, args: &[&str]) -> io::Result<Strin
.spawn()?;
let mut stderr = String::new();
let mut output = String::new();
cmd.stderr.unwrap().read_to_string(&mut stderr).await?;
if stderr.len() != 0 {
log::debug!("STDERR of command {}: {}", command, stderr);
}

@ -1,8 +1,12 @@
use std::collections::{HashMap, HashSet};
use bot_database::get_database;
use serenity::client::Context;
use serenity::framework::standard::macros::hook;
use serenity::framework::standard::{CommandResult, DispatchError};
use serenity::framework::StandardFramework;
use serenity::model::channel::Message;
use serenity::model::id::UserId;
use serenity::Client;
use songbird::SerenityInit;
@ -12,9 +16,6 @@ use crate::utils::context_data::{
DatabaseContainer, EventDrivenMessageContainer, Store, StoreData,
};
use crate::utils::error::{BotError, BotResult};
use bot_database::get_database;
use serenity::model::id::UserId;
use std::collections::{HashMap, HashSet};
pub async fn get_client() -> BotResult<Client> {
let token = dotenv::var("BOT_TOKEN").map_err(|_| BotError::MissingToken)?;

@ -1,8 +1,9 @@
use crate::providers::settings::{get_setting, Setting};
use crate::utils::error::BotResult;
use serenity::model::channel::Message;
use serenity::prelude::*;
use crate::providers::settings::{get_setting, Setting};
use crate::utils::error::BotResult;
/// Deletes a message automatically if configured that way
pub async fn handle_autodelete(ctx: &Context, msg: &Message) -> BotResult<()> {
if let Some(guild_id) = msg.guild_id {

@ -1,6 +1,5 @@
use std::collections::HashSet;
use crate::commands::common::handle_autodelete;
use serenity::client::Context;
use serenity::framework::standard::macros::help;
use serenity::framework::standard::{help_commands, Args};
@ -8,6 +7,8 @@ use serenity::framework::standard::{CommandGroup, CommandResult, HelpOptions};
use serenity::model::channel::Message;
use serenity::model::id::UserId;
use crate::commands::common::handle_autodelete;
#[help]
#[max_levenshtein_distance(2)]
pub async fn help(

@ -1,5 +1,6 @@
use serenity::framework::standard::macros::group;
use about::ABOUT_COMMAND;
use pekofy::PEKOFY_COMMAND;
use ping::PING_COMMAND;
use qalc::QALC_COMMAND;
@ -8,8 +9,8 @@ use shutdown::SHUTDOWN_COMMAND;
use stats::STATS_COMMAND;
use time::TIME_COMMAND;
use timezones::TIMEZONES_COMMAND;
use about::ABOUT_COMMAND;
mod about;
pub(crate) mod help;
mod pekofy;
mod ping;
@ -19,7 +20,6 @@ mod shutdown;
mod stats;
mod time;
mod timezones;
mod about;
#[group]
#[commands(ping, stats, shutdown, pekofy, time, timezones, qalc, sauce, about)]

@ -1,10 +1,11 @@
use crate::utils::get_previous_message_or_reply;
use rand::prelude::*;
use regex::Regex;
use serenity::framework::standard::{Args, CommandError, CommandResult};
use serenity::model::channel::Message;
use serenity::{framework::standard::macros::command, prelude::*};
use crate::utils::get_previous_message_or_reply;
// return a normal peko in most cases
static PEKOS: &[&str] = &[
"peko",

@ -1,10 +1,11 @@
use crate::providers::qalc;
use regex::Regex;
use serenity::client::Context;
use serenity::framework::standard::macros::command;
use serenity::framework::standard::{Args, CommandResult};
use serenity::model::channel::Message;
use crate::providers::qalc;
static QALC_HELP: &[&str] = &["help", "--help", "-h", "h"];
#[command]

@ -1,15 +1,15 @@
use crate::messages::sauce::show_sauce_menu;
use crate::utils::get_previous_message_or_reply;
use bot_coreutils::url;
use sauce_api::Sauce;
use crate::utils::context_data::Store;
use serenity::client::Context;
use serenity::framework::standard::macros::command;
use serenity::framework::standard::CommandResult;
use serenity::model::channel::Message;
use bot_coreutils::url;
use crate::messages::sauce::show_sauce_menu;
use crate::utils::context_data::Store;
use crate::utils::get_previous_message_or_reply;
#[command]
#[description("Searches for the source of a previously posted image or an image replied to.")]
#[usage("")]

@ -1,9 +1,11 @@
use crate::commands::common::handle_autodelete;
use std::process;
use serenity::framework::standard::macros::command;
use serenity::framework::standard::{Args, CommandResult};
use serenity::model::channel::Message;
use serenity::prelude::*;
use std::process;
use crate::commands::common::handle_autodelete;
#[command]
#[description("Shuts down the bot with the specified exit code")]

@ -1,13 +1,15 @@
use crate::commands::common::handle_autodelete;
use std::process;
use std::time::{Duration, SystemTime, UNIX_EPOCH};
use chrono::Duration as ChronoDuration;
use serenity::framework::standard::macros::command;
use serenity::framework::standard::CommandResult;
use serenity::model::channel::Message;
use serenity::prelude::*;
use std::process;
use std::time::{Duration, SystemTime, UNIX_EPOCH};
use sysinfo::{ProcessExt, SystemExt};
use crate::commands::common::handle_autodelete;
const VERSION: &'static str = env!("CARGO_PKG_VERSION");
#[command]

@ -1,3 +1,5 @@
use std::mem;
use serenity::client::Context;
use serenity::framework::standard::macros::command;
use serenity::framework::standard::CommandResult;
@ -6,7 +8,6 @@ use serenity::model::channel::Message;
use crate::commands::common::handle_autodelete;
use crate::commands::music::get_queue_for_guild;
use crate::messages::music::NowPlayingMessage;
use std::mem;
#[command]
#[only_in(guilds)]

@ -1,9 +1,8 @@
use std::mem;
use std::sync::atomic::{AtomicIsize, AtomicUsize, Ordering};
use std::sync::Arc;
use std::time::Duration;
use crate::providers::music::queue::{MusicQueue, Song};
use crate::providers::music::youtube_dl;
use crate::utils::context_data::{DatabaseContainer, Store};
use crate::utils::error::{BotError, BotResult};
use regex::Regex;
use serenity::async_trait;
use serenity::client::Context;
@ -12,29 +11,12 @@ use serenity::http::Http;
use serenity::model::channel::Message;
use serenity::model::guild::Guild;
use serenity::model::id::{ChannelId, GuildId, UserId};
use serenity::model::user::User;
use songbird::{
Call, Event, EventContext, EventHandler as VoiceEventHandler, Songbird, TrackEvent,
};
use std::mem;
use std::sync::atomic::{AtomicIsize, AtomicUsize, Ordering};
use std::time::Duration;
use tokio::sync::Mutex;
mod clear_queue;
mod current;
mod join;
mod leave;
mod lyrics;
mod pause;
mod play;
mod play_next;
mod playlists;
mod queue;
mod save_playlist;
mod shuffle;
mod skip;
use crate::providers::settings::{get_setting, Setting};
use clear_queue::CLEAR_QUEUE_COMMAND;
use current::CURRENT_COMMAND;
use join::JOIN_COMMAND;
@ -46,10 +28,29 @@ use play_next::PLAY_NEXT_COMMAND;
use playlists::PLAYLISTS_COMMAND;
use queue::QUEUE_COMMAND;
use save_playlist::SAVE_PLAYLIST_COMMAND;
use serenity::model::user::User;
use shuffle::SHUFFLE_COMMAND;
use skip::SKIP_COMMAND;
use crate::providers::music::queue::{MusicQueue, Song};
use crate::providers::music::youtube_dl;
use crate::providers::settings::{get_setting, Setting};
use crate::utils::context_data::{DatabaseContainer, Store};
use crate::utils::error::{BotError, BotResult};
mod clear_queue;
mod current;
mod join;
mod leave;
mod lyrics;
mod pause;
mod play;
mod play_next;
mod playlists;
mod queue;
mod save_playlist;
mod shuffle;
mod skip;
#[group]
#[commands(
join,

@ -3,12 +3,11 @@ use serenity::framework::standard::macros::command;
use serenity::framework::standard::{Args, CommandError, CommandResult};
use serenity::model::channel::Message;
use crate::commands::common::handle_autodelete;
use crate::commands::music::{
get_channel_for_author, get_queue_for_guild, get_songs_for_query, get_voice_manager,
join_channel, play_next_in_queue,
};
use crate::commands::common::handle_autodelete;
use crate::providers::settings::{get_setting, Setting};
#[command]

@ -1,10 +1,11 @@
use crate::commands::common::handle_autodelete;
use crate::utils::context_data::get_database_from_context;
use serenity::client::Context;
use serenity::framework::standard::macros::command;
use serenity::framework::standard::CommandResult;
use serenity::model::channel::Message;
use crate::commands::common::handle_autodelete;
use crate::utils::context_data::get_database_from_context;
#[command]
#[only_in(guilds)]
#[description("Displays a list of all saved playlists")]

@ -1,10 +1,11 @@
use crate::commands::music::is_dj;
use crate::utils::context_data::get_database_from_context;
use serenity::client::Context;
use serenity::framework::standard::macros::command;
use serenity::framework::standard::{Args, CommandResult};
use serenity::model::channel::Message;
use crate::commands::music::is_dj;
use crate::utils::context_data::get_database_from_context;
#[command]
#[only_in(guilds)]
#[description("Adds a playlist to the guilds saved playlists")]

@ -1,5 +1,3 @@
use crate::commands::music::get_queue_for_guild;
use crate::utils::context_data::EventDrivenMessageContainer;
use serenity::async_trait;
use serenity::client::Context;
use serenity::model::channel::Reaction;
@ -10,6 +8,9 @@ use serenity::model::id::{ChannelId, GuildId, MessageId};
use serenity::model::voice::VoiceState;
use serenity::prelude::*;
use crate::commands::music::get_queue_for_guild;
use crate::utils::context_data::EventDrivenMessageContainer;
pub(crate) struct Handler;
macro_rules! log_msg_fire_error {

@ -1,10 +1,12 @@
use crate::utils::error::BotResult;
use crate::utils::messages::ShareableMessage;
use std::sync::Arc;
use serenity::builder::CreateEmbed;
use serenity::http::Http;
use serenity::model::prelude::ChannelId;
use songbird::input::Metadata;
use std::sync::Arc;
use crate::utils::error::BotResult;
use crate::utils::messages::ShareableMessage;
#[derive(Clone)]
pub struct NowPlayingMessage {

@ -1,10 +1,13 @@
use crate::utils::error::BotResult;
use bot_coreutils::url::get_domain_for_url;
use std::cmp::Ordering;
use sauce_api::{SauceItem, SauceResult};
use serenity::builder::CreateMessage;
use serenity::{model::channel::Message, prelude::*};
use serenity_utils::prelude::*;
use std::cmp::Ordering;
use bot_coreutils::url::get_domain_for_url;
use crate::utils::error::BotResult;
static MAX_RESULTS: usize = 6;
static MIN_SIMILARITY: f32 = 50.0;

@ -1,7 +1,8 @@
use crate::utils::error::BotResult;
use regex::Regex;
use serde_derive::Deserialize;
use crate::utils::error::BotResult;
const API_ENDPOINT: &str = "https://api.lyrics.ovh/v1/";
/// Returns the lyrics of a song

@ -1,12 +1,13 @@
use std::collections::VecDeque;
use aspotify::{Track, TrackSimplified};
use songbird::tracks::TrackHandle;
use bot_coreutils::shuffle::Shuffle;
use crate::messages::music::NowPlayingMessage;
use crate::providers::music::responses::{PlaylistEntry, VideoInformation};
use crate::providers::music::youtube_dl;
use aspotify::{Track, TrackSimplified};
use bot_coreutils::shuffle::Shuffle;
#[derive(Clone)]
pub struct MusicQueue {

@ -1,6 +1,7 @@
use aspotify::{Client, ClientCredentials, PlaylistItem, PlaylistItemType};
use crate::providers::music::queue::Song;
use crate::utils::error::{BotError, BotResult};
use aspotify::{Client, ClientCredentials, PlaylistItem, PlaylistItemType};
pub struct SpotifyApi {
client: Client,

@ -1,13 +1,16 @@
use crate::providers::music::queue::Song;
use crate::providers::music::responses::{PlaylistEntry, VideoInformation};
use crate::utils::error::BotResult;
use bot_coreutils::process::run_command_async;
use futures::future::BoxFuture;
use futures::FutureExt;
use std::sync::atomic::{AtomicU8, Ordering};
use std::sync::Arc;
use std::time::Duration;
use futures::future::BoxFuture;
use futures::FutureExt;
use bot_coreutils::process::run_command_async;
use crate::providers::music::queue::Song;
use crate::providers::music::responses::{PlaylistEntry, VideoInformation};
use crate::utils::error::BotResult;
static THREAD_LIMIT: u8 = 64;
/// Returns a list of youtube videos for a given url

@ -1,6 +1,7 @@
use crate::utils::error::BotResult;
use bot_coreutils::process::run_command_async;
use crate::utils::error::BotResult;
/// Runs the qalc command with the given expression
pub async fn qalc(expression: &str) -> BotResult<String> {
let result = run_command_async(

@ -1,8 +1,10 @@
use crate::utils::context_data::DatabaseContainer;
use crate::utils::error::{BotError, BotResult};
use std::str::FromStr;
use serenity::client::Context;
use serenity::model::prelude::GuildId;
use std::str::FromStr;
use crate::utils::context_data::DatabaseContainer;
use crate::utils::error::{BotError, BotResult};
pub static ALL_SETTINGS: &[Setting] = &[
Setting::MusicAutoShuffle,

@ -1,6 +1,10 @@
use std::collections::HashMap;
use std::env;
use std::sync::Arc;
use bot_database::Database;
use sauce_api::prelude::SauceNao;
use serenity::client::Context;
use serenity::model::id::GuildId;
use serenity::prelude::TypeMapKey;
use tokio::sync::Mutex;
@ -8,10 +12,6 @@ use tokio::sync::Mutex;
use crate::providers::music::queue::MusicQueue;
use crate::providers::music::spotify::SpotifyApi;
use crate::utils::messages::EventDrivenMessage;
use bot_database::Database;
use sauce_api::prelude::SauceNao;
use serenity::client::Context;
use std::env;
pub struct Store;

@ -4,13 +4,14 @@
* See LICENSE for more information
*/
use chrono::Local;
use colored::*;
use log::{Level, LevelFilter};
use std::fs;
use std::path::PathBuf;
use std::str::FromStr;
use chrono::Local;
use colored::*;
use log::{Level, LevelFilter};
/// Initializes the env_logger with a custom format
/// that also logs the thread names
pub fn init_logger() {

@ -1,10 +1,12 @@
use crate::utils::error::BotResult;
use std::sync::Arc;
use serenity::async_trait;
use serenity::builder::{CreateMessage, EditMessage};
use serenity::http::{CacheHttp, Http};
use serenity::model::channel::{Message, Reaction};
use serenity::model::id::{ChannelId, MessageId};
use std::sync::Arc;
use crate::utils::error::BotResult;
#[async_trait]
pub trait EventDrivenMessage: Send + Sync {

@ -1,7 +1,8 @@
use crate::utils::error::BotResult;
use serenity::client::Context;
use serenity::model::channel::Message;
use crate::utils::error::BotResult;
pub(crate) mod context_data;
pub(crate) mod error;
pub(crate) mod logging;

Loading…
Cancel
Save