Skip to content

Commit 485696a

Browse files
committed
chore: adopting 0.13
1 parent 91bb4f0 commit 485696a

26 files changed

+868
-338
lines changed

Cargo.lock

Lines changed: 246 additions & 61 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ repository = "https://github.com/rust-lang-uz/telegram"
99
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1010

1111
[dependencies]
12-
teloxide = { version = "0.12", features = [
12+
teloxide = { version = "0.13", features = [
1313
"macros",
1414
"webhooks",
1515
"webhooks-axum",
@@ -24,6 +24,7 @@ serde_json = "1.0.108"
2424
serde = { version = "1.0.192", features = ["derive"] }
2525
octocrab = { version = "0.32.0" }
2626
clap = { version = "4.5.23", features = ["derive"] }
27+
orzklv = { version = "0.1.8", features = ["full"] }
2728

2829
[profile.release]
2930
strip = true

data/topics.json

Lines changed: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,38 @@
1-
{
2-
"asosiy": 1,
3-
"learning": 26210,
4-
"offtopic": 9400,
5-
"yordam": 146749,
6-
"explore": 26603,
7-
"showroom": 26382,
8-
"livestreams": 22577,
9-
"jobs": 27940,
10-
"l10n": 22990
11-
}
1+
[
2+
{
3+
"name": "asosiy",
4+
"id": 1
5+
},
6+
{
7+
"name": "learning",
8+
"id": 26210
9+
},
10+
{
11+
"name": "yordam",
12+
"id": 146749
13+
},
14+
{
15+
"name": "explore",
16+
"id": 26603
17+
},
18+
{
19+
"name": "showroom",
20+
"id": 26382
21+
},
22+
{
23+
"name": "livestreams",
24+
"id": 22577
25+
},
26+
{
27+
"name": "jobs",
28+
"id": 27940
29+
},
30+
{
31+
"name": "l10n",
32+
"id": 22990
33+
},
34+
{
35+
"name": "offtopic",
36+
"id": 0
37+
}
38+
]

src/bot.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub enum Command {
3131
Version,
3232

3333
/// Report offtopic
34-
Off,
34+
Warn,
3535

3636
/// Useful resources
3737
Useful,

src/functions/about.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
use crate::{
2-
hooks,
3-
utils::{keyboard::Keyboard, message::Rustina},
4-
};
1+
use crate::hooks;
2+
use orzklv::telegram::{keyboard::Keyboard, topic::Topics};
53
use teloxide::{
64
payloads::SendMessageSetters,
75
prelude::*,
@@ -29,5 +27,7 @@ pub async fn command(bot: &Bot, msg: &Message) -> ResponseResult<()> {
2927

3028
pub fn keyboard() -> InlineKeyboardMarkup {
3129
let mut keyboard = Keyboard::new();
32-
keyboard.url("Ochiq Havolalar", "https://github.com/rust-lang-uz/rustina")
30+
keyboard
31+
.url("Ochiq Havolalar", "https://github.com/rust-lang-uz/rustina")
32+
.unwrap()
3333
}

src/functions/check.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::utils::message::Rustina;
1+
use orzklv::telegram::topic::Topics;
22
use teloxide::{payloads::SendMessageSetters, prelude::*, types::ParseMode};
33

44
pub async fn command(bot: &Bot, msg: &Message) -> ResponseResult<()> {

src/functions/groups.rs

Lines changed: 35 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
1-
use crate::utils::{
2-
groups::{Group, Groups},
3-
keyboard::Keyboard,
4-
message::Rustina,
5-
};
6-
use teloxide::{
7-
payloads::{EditMessageTextSetters, SendMessageSetters},
8-
prelude::*,
9-
types::{InlineKeyboardMarkup, ParseMode},
10-
};
1+
use crate::utils::groups::{Group, Groups};
2+
use orzklv::telegram::{keyboard::Keyboard, topic::Topics};
3+
use teloxide::{payloads::EditMessageTextSetters, prelude::*, types::*};
114

125
static TEXT: &str = "<b>Telegramdagi Rust Hamjamiyatlari yoki Guruhlari:</b>\nAgar o'zingizni guruhingizni qo'shmoqchi bo'lsangiz, bizni <a href='https://github.com/rust-lang-uz/rustina/blob/main/data/communities.json'>community.json</a> ni yangilang!";
136

147
pub async fn command(bot: &Bot, msg: &Message, groups: &Groups) -> ResponseResult<()> {
158
bot.send_message_tf(msg.chat.id, TEXT, msg)
169
.parse_mode(ParseMode::Html)
1710
.reply_markup(keyboard_list(groups, 1))
18-
.disable_web_page_preview(true)
11+
.link_preview_options(LinkPreviewOptions {
12+
is_disabled: true,
13+
url: None,
14+
prefer_small_media: false,
15+
prefer_large_media: false,
16+
show_above_text: false,
17+
})
1918
.await?;
2019

2120
Ok(())
@@ -28,11 +27,22 @@ pub async fn callback_list(
2827
groups: &Groups,
2928
) -> ResponseResult<()> {
3029
if !args.is_empty() {
31-
if let Some(Message { id, chat, .. }) = q.message.clone() {
32-
bot.edit_message_text(chat.id, id, TEXT)
30+
let om = match q.message.clone() {
31+
Some(m) => m,
32+
None => return Ok(()),
33+
};
34+
35+
if let Some(Message { id, chat, .. }) = om.regular_message() {
36+
bot.edit_message_text(chat.id, *id, TEXT)
3337
.parse_mode(ParseMode::Html)
3438
.reply_markup(keyboard_list(groups, args[0].parse().unwrap_or(1)))
35-
.disable_web_page_preview(true)
39+
.link_preview_options(LinkPreviewOptions {
40+
is_disabled: true,
41+
url: None,
42+
prefer_small_media: false,
43+
prefer_large_media: false,
44+
show_above_text: false,
45+
})
3646
.await?;
3747
} else if let Some(id) = q.inline_message_id.clone() {
3848
bot.edit_message_text_inline(id, "Oopsie, something went wrong...")
@@ -48,8 +58,13 @@ pub async fn callback_detail(bot: &Bot, q: &CallbackQuery, args: &[&str]) -> Res
4858
let find = groups.find_group(args[1..].join("_").to_string());
4959

5060
if !args.is_empty() {
51-
if let Some(Message { id, chat, .. }) = q.message.clone() {
52-
bot.edit_message_text(chat.id, id, view_detail(&find))
61+
let om = match q.message.clone() {
62+
Some(m) => m,
63+
None => return Ok(()),
64+
};
65+
66+
if let Some(Message { id, chat, .. }) = om.regular_message() {
67+
bot.edit_message_text(chat.id, *id, view_detail(&find))
5368
.parse_mode(ParseMode::Html)
5469
.reply_markup(keyboard_detail(args[0].parse().unwrap_or(1), &find))
5570
.await?;
@@ -104,10 +119,12 @@ pub fn keyboard_detail(page: i32, data: &Option<Group>) -> InlineKeyboardMarkup
104119
let mut keyboard = Keyboard::new();
105120

106121
if let Some(group) = data {
107-
keyboard.url("Telegram", &format!("https://t.me/{}", group.telegram));
122+
keyboard
123+
.url("Telegram", &format!("https://t.me/{}", group.telegram))
124+
.unwrap();
108125

109126
if group.link.is_some() {
110-
keyboard.url("Web", &group.link.clone().unwrap());
127+
keyboard.url("Web", &group.link.clone().unwrap()).unwrap();
111128
}
112129

113130
keyboard.row();

src/functions/help.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use super::start::keyboard;
2-
use crate::{bot::Command, utils::message::Rustina};
3-
use teloxide::{payloads::SendMessageSetters, prelude::*, types::ParseMode};
2+
use crate::bot::Command;
3+
use orzklv::telegram::topic::Topics;
4+
use teloxide::{prelude::*, types::ParseMode};
45

56
static TEXT: &[(&str, &str)] = &[
67
("help", "ushbu xabarni qayta ko'rsatish"),

src/functions/inline.rs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,13 @@ pub async fn inline(
1919
InputMessageContent::Text(
2020
InputMessageContentText::new(NO_INPUT)
2121
.parse_mode(ParseMode::Html)
22-
.disable_web_page_preview(true),
22+
.link_preview_options(LinkPreviewOptions {
23+
is_disabled: true,
24+
url: None,
25+
prefer_small_media: false,
26+
prefer_large_media: false,
27+
show_above_text: false,
28+
}),
2329
),
2430
)
2531
.reply_markup(err_keyboard())
@@ -47,11 +53,17 @@ pub async fn inline(
4753
"Xatolik yuz berdi!",
4854
InputMessageContent::Text(
4955
InputMessageContentText::new(
50-
format!("<b>{} ga oid natija mavjud emas!</b>\nIltimos, boshqattan ushbu qidirmoqchi bo'lgan paketingiz yozib qidirib ko'ring!",
56+
format!("<b>{} ga oid natija mavjud emas!</b>\nIltimos, boshqattan ushbu qidirmoqchi bo'lgan paketingiz yozib qidirib ko'ring!",
5157
q.query.clone())
5258
)
5359
.parse_mode(ParseMode::Html)
54-
.disable_web_page_preview(true),
60+
.link_preview_options(LinkPreviewOptions {
61+
is_disabled: true,
62+
url: None,
63+
prefer_small_media: false,
64+
prefer_large_media: false,
65+
show_above_text: false,
66+
}),
5567
),
5668
)
5769
.reply_markup(err_keyboard())
@@ -72,7 +84,13 @@ pub async fn inline(
7284
InputMessageContent::Text(
7385
InputMessageContentText::new(view_generate(c))
7486
.parse_mode(ParseMode::Html)
75-
.disable_web_page_preview(true),
87+
.link_preview_options(LinkPreviewOptions {
88+
is_disabled: true,
89+
url: None,
90+
prefer_small_media: false,
91+
prefer_large_media: false,
92+
show_above_text: false,
93+
}),
7694
),
7795
)
7896
.description(c.description.clone().unwrap())

src/functions/joined.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
use orzklv::telegram::{timer::Timer, topic::Topics};
12
use teloxide::{prelude::*, types::*};
23

3-
use crate::utils::message::{delete_timer, Rustina};
4-
54
static TEXT: &str = "<b>Salom bo'lajak Rustacean!</b>\n\n\
65
Sizlarni bu guruhda ko'rib turganimizdan mamnunmiz. Bu guruh Rust dasturlash tiliga qaratilgan hisoblanib, \
76
bu yerda ushbu til haqida gaplashish, savollar berish yoki o'z fikrlaringiz bilan bo'lishishingiz mumkin. \
@@ -15,7 +14,9 @@ pub async fn trigger(bot: &Bot, msg: &Message) -> ResponseResult<()> {
1514
.parse_mode(ParseMode::Html)
1615
.await?;
1716

18-
delete_timer(bot, &message, 60 * 5).await?;
17+
bot.delete_timer(message.chat.id, message.id, 60 * 5)
18+
.await
19+
.await?;
1920

2021
Ok(())
2122
}

0 commit comments

Comments
 (0)