added /bk_week_remove command
This commit is contained in:
@@ -9,12 +9,12 @@
|
|||||||
- [ ] Manually add posts
|
- [ ] Manually add posts
|
||||||
- [ ] via `u/[bot] add`
|
- [ ] via `u/[bot] add`
|
||||||
<!-- - [x] ~~via `/bk_week_add [url]`~~ -->
|
<!-- - [x] ~~via `/bk_week_add [url]`~~ -->
|
||||||
- [ ] Manually remove posts via `/bk_week_remove [url]`
|
<!-- - [x] ~~Manually remove posts via `/bk_week_remove [url]`~~ -->
|
||||||
<!-- - [x] ~~Manually approve posts via `/bk_week_approve [url]`~~ -->
|
<!-- - [x] ~~Manually approve posts via `/bk_week_approve [url]`~~ -->
|
||||||
- [ ] Manually un-approve posts via `/bk_week_disapprove [url]`
|
<!-- - [x] ~~Manually un-approve posts via `/bk_week_disapprove [url]`~~ -->
|
||||||
<!-- - [x] ~~Automatically add scraped posts to JSON~~ -->
|
<!-- - [x] ~~Automatically add scraped posts to JSON~~ -->
|
||||||
- [ ] Automatically remove posts older than 7 days from JSON
|
- [ ] Automatically remove posts older than 7 days from JSON
|
||||||
<!-- - [x] ~~Function~~ -->
|
- [x] ~~Function~~
|
||||||
- [ ] Automate
|
- [ ] Automate
|
||||||
- [ ] Automatically approve posts that dont get caught by reverse image search (ris)
|
- [ ] Automatically approve posts that dont get caught by reverse image search (ris)
|
||||||
- [ ] Log all posts in a Discord thread
|
- [ ] Log all posts in a Discord thread
|
||||||
|
|||||||
+25
-4
@@ -1,3 +1,4 @@
|
|||||||
|
use crate::websocket::send_cmd_json;
|
||||||
use crate::{rs_println, websocket, Context, Error, BK_WEEK};
|
use crate::{rs_println, websocket, Context, Error, BK_WEEK};
|
||||||
use crate::messages::{send_embed, send_msg, EmbedOptions};
|
use crate::messages::{send_embed, send_msg, EmbedOptions};
|
||||||
use crate::data;
|
use crate::data;
|
||||||
@@ -135,7 +136,7 @@ async fn send_post_removed_message(ctx: Context<'_>, url: &str, rm_by: &str) {
|
|||||||
send_msg(
|
send_msg(
|
||||||
ctx,
|
ctx,
|
||||||
format!(
|
format!(
|
||||||
r#"Post URL \"<{}>\" is removed: Post is removed from the data! (Removed by: {})
|
r#"Post URL \"<{}>\" is removed: Post is removed from the data! (Removed by: `{}`)
|
||||||
Hint: Run the command `/bk_week_add [URL]` in a Discord channel or `u/ByteDiceAssistant bk_week_add` in a Reddit post."#,
|
Hint: Run the command `/bk_week_add [URL]` in a Discord channel or `u/ByteDiceAssistant bk_week_add` in a Reddit post."#,
|
||||||
url, rm_by
|
url, rm_by
|
||||||
).trim().to_string(),
|
).trim().to_string(),
|
||||||
@@ -219,6 +220,21 @@ pub async fn bk_week_remove(
|
|||||||
#[description = "The post URL"] url: String
|
#[description = "The post URL"] url: String
|
||||||
) -> Result<(), Error>
|
) -> Result<(), Error>
|
||||||
{
|
{
|
||||||
|
let auth = &ctx.author().name;
|
||||||
|
let r = send_cmd_json("remove_post_url", json!([&url, &auth])).await.unwrap();
|
||||||
|
|
||||||
|
if r["value"].as_bool().unwrap() {
|
||||||
|
send_msg(
|
||||||
|
ctx,
|
||||||
|
format!("Successfully flagged URL \"{}\" as `\"removed\": true` and `\"removed_by\": \"{}\"`", url, auth),
|
||||||
|
true,
|
||||||
|
true
|
||||||
|
).await;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
send_post_not_found_message(ctx, &url).await;
|
||||||
|
}
|
||||||
|
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -246,9 +262,14 @@ async fn approve_cmd(ctx: Context<'_>, url: &str, reddit_data: &Value, approve:
|
|||||||
send_post_removed_message(ctx, &url, post.get("removed_by").unwrap().as_str().unwrap()).await;
|
send_post_removed_message(ctx, &url, post.get("removed_by").unwrap().as_str().unwrap()).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
let r = websocket::send_cmd_json("set_approve_post", json!([approve, &url])).await;
|
let r = websocket::send_cmd_json("set_approve_post", json!([approve, &url])).await.unwrap();
|
||||||
if let Some(v) = r.unwrap().get("value") {
|
if let Some(v) = r.get("value") {
|
||||||
send_msg(ctx, format!("Successfully flagged URL \"<{}>\" as `approved:by_human`!", &url), true, true).await;
|
if approve {
|
||||||
|
send_msg(ctx, format!("Successfully flagged URL \"<{}>\" as `approved:by_human`!", &url), true, true).await;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
send_msg(ctx, format!("Successfully removed flag `approved:by_human` from URL \"<{}>\"!", &url), true, true).await;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
send_msg(ctx, format!("Unknown error!\nError trace: `bk_week_cmds.rs -> bk_week_approve() -> unwrap websocket result error`."), true, true).await;
|
send_msg(ctx, format!("Unknown error!\nError trace: `bk_week_cmds.rs -> bk_week_approve() -> unwrap websocket result error`."), true, true).await;
|
||||||
|
|||||||
+2
-2
@@ -146,9 +146,9 @@ async fn gen_bot(data: Data) -> Client {
|
|||||||
bk_week_cmds::bk_week_help(),
|
bk_week_cmds::bk_week_help(),
|
||||||
bk_week_cmds::bk_week_get(),
|
bk_week_cmds::bk_week_get(),
|
||||||
bk_week_cmds::bk_week_add(),
|
bk_week_cmds::bk_week_add(),
|
||||||
//bk_week_cmds::bk_week_remove(),
|
bk_week_cmds::bk_week_remove(),
|
||||||
bk_week_cmds::bk_week_approve(),
|
bk_week_cmds::bk_week_approve(),
|
||||||
//bk_week_cmds::bk_week_disapprove()
|
bk_week_cmds::bk_week_disapprove()
|
||||||
],
|
],
|
||||||
event_handler: events::event_handler,
|
event_handler: events::event_handler,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
|
|||||||
+9
-1
@@ -124,4 +124,12 @@ def set_approve_post(bot: botPy.Bot, approved: bool, url: str) -> bool:
|
|||||||
bot.data[BK_WEEKLY][url]["approved"]["by_human"] = approved
|
bot.data[BK_WEEKLY][url]["approved"]["by_human"] = approved
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def remove_post(bot: botPy.Bot, url: str, removed_by: str = "UNKNOWN") -> bool:
|
||||||
|
if url in bot.data[BK_WEEKLY]:
|
||||||
|
bot.data[BK_WEEKLY][url] = { "removed": True, "removed_by": removed_by }
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
@@ -65,6 +65,7 @@ async def json_to_func(v: dict, bot: botPy.Bot) -> dict:
|
|||||||
match v["value"]:
|
match v["value"]:
|
||||||
case "update_data_file": result = result_json(data.write_data(bot))
|
case "update_data_file": result = result_json(data.write_data(bot))
|
||||||
case "add_post_url": result = result_json(await posts.add_post_url(bot, *v["args"]))
|
case "add_post_url": result = result_json(await posts.add_post_url(bot, *v["args"]))
|
||||||
|
case "remove_post_url": result = result_json(data.remove_post(bot, *v["args"]))
|
||||||
case "set_approve_post": result = result_json(data.set_approve_post(bot, *v["args"]))
|
case "set_approve_post": result = result_json(data.set_approve_post(bot, *v["args"]))
|
||||||
case "stop_praw": result = result_json(await bot.stop())
|
case "stop_praw": result = result_json(await bot.stop())
|
||||||
case _: value_supported = False
|
case _: value_supported = False
|
||||||
|
|||||||
@@ -62,6 +62,11 @@ pub async fn send_cmd_json(func_name: &str, func_args: Value) -> Option<Value> {
|
|||||||
|
|
||||||
let r = receive_response().await;
|
let r = receive_response().await;
|
||||||
rs_println!("Received from Python: [RESPONSE] {:?}", r);
|
rs_println!("Received from Python: [RESPONSE] {:?}", r);
|
||||||
|
|
||||||
|
if r.is_none() {
|
||||||
|
rs_println!("--- Response from Python is None!");
|
||||||
|
}
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user