mirror of
https://github.com/shiroyashik/doggy-watch.git
synced 2025-12-06 12:31:13 +03:00
Compare commits
2 commits
c84385bc68
...
655e195c91
| Author | SHA1 | Date | |
|---|---|---|---|
| 655e195c91 | |||
| 3132ebd036 |
4 changed files with 7 additions and 6 deletions
|
|
@ -10,7 +10,7 @@ use crate::{check_subscription, markup, notify, AppState, DialogueState, MyDialo
|
|||
pub async fn message(bot: Bot, msg: Message, dialogue: MyDialogue) -> anyhow::Result<()> {
|
||||
use youtube::*;
|
||||
if let Some(text) = msg.clone().text() {
|
||||
if let Some(user) = check_subscription(&bot, &msg.from.ok_or(anyhow::anyhow!("Message not from user!"))?.id).await {
|
||||
if let Some(user) = check_subscription(&bot, &msg.clone().from.ok_or(anyhow::anyhow!("Message not from user!"))?.id).await {
|
||||
// Get ready!
|
||||
if let Some(ytid) = extract_youtube_video_id(text) {
|
||||
let meta = get_video_metadata(&ytid).await?;
|
||||
|
|
@ -21,6 +21,7 @@ pub async fn message(bot: Bot, msg: Message, dialogue: MyDialogue) -> anyhow::Re
|
|||
)).parse_mode(ParseMode::Html).reply_markup(markup::inline_yes_or_no()).await?;
|
||||
dialogue.update(DialogueState::AcceptVideo { ytid, uid: user.id.0, title: meta.title }).await?;
|
||||
} else {
|
||||
tracing::debug!("Not a YouTube video: {:?}", msg);
|
||||
bot.send_message(msg.chat.id, "Это не похоже на YouTube видео... Долбоёб").await?;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ pub async fn inline(bot: Bot, q: CallbackQuery, state: Arc<AppState>, uid: Strin
|
|||
if let Some(data) = q.clone().data {
|
||||
let text= if &data == "yes" {
|
||||
if let Ok(uid) = uid.parse::<u64>() {
|
||||
if Entity::delete_by_id(uid as i32).exec(&state.db).await?.rows_affected != 0 {
|
||||
if Entity::delete_by_id(uid as i64).exec(&state.db).await?.rows_affected != 0 {
|
||||
"Модератор удалён!"
|
||||
} else {
|
||||
"Произошла ошибка!\nПо всей видимости такого модератора не существует."
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ use crate::AppState;
|
|||
|
||||
/// Invert notify status for moderator
|
||||
pub async fn command(bot: Bot, msg: Message, uid: UserId, state: Arc<AppState>) -> anyhow::Result<()> {
|
||||
let text = if let Some(moder) = moderators::Entity::find_by_id(uid.0 as i32).one(&state.db).await? {
|
||||
let text = if let Some(moder) = moderators::Entity::find_by_id(uid.0 as i64).one(&state.db).await? {
|
||||
let moder = match moder.notify {
|
||||
true => {
|
||||
let mut moder = moder.into_active_model();
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ async fn main() -> anyhow::Result<()> {
|
|||
// Pass the shared state to the handler as a dependency.
|
||||
.dependencies(dptree::deps![state, InMemStorage::<DialogueState>::new()])
|
||||
.default_handler(|upd| async move {
|
||||
tracing::warn!("Unhandled update: {:?}", upd);
|
||||
tracing::debug!("Unhandled update: {:?}", upd);
|
||||
})
|
||||
.enable_ctrlc_handler()
|
||||
.build()
|
||||
|
|
@ -184,7 +184,7 @@ impl AppState {
|
|||
async fn check_rights(&self, uid: &UserId) -> anyhow::Result<Rights> {
|
||||
use database::moderators::Entity as Moderators;
|
||||
|
||||
Ok(if let Some(moder) = Moderators::find_by_id(uid.0 as i32).one(&self.db).await? {
|
||||
Ok(if let Some(moder) = Moderators::find_by_id(uid.0 as i64).one(&self.db).await? {
|
||||
Rights::Moderator { can_add_mods: moder.can_add_mods }
|
||||
} else {
|
||||
Rights::None
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue