Загрузка...

[Funpay] Creating a bot on Funpay is easier than you thought

Thread in Rust created by K1p1k Dec 13, 2025. 296 views

  1. K1p1k
    K1p1k Topic starter Dec 13, 2025 46 Jul 1, 2022
    Code
    [dependencies]
    Funpay-client = "0.2.3"
    tokio = { version = "1", features = ["full"] }
    Funpay-client данная библиотека сделана с ИИ так что советую хорошо ее тестировать так как на первой версии которую я по ошибки у установил было очень много None на 100% достоверную информацию
    Python
    mod messange;
    mod models;


    use funpay_client::events::Event;
    use funpay_client::{FunPayAccount, FunPayError, FunPaySender};
    use crate::messange::message_handler;
    use crate::models::FPMe;

    #[tokio::main]
    async fn main() -> Result<(), FunPayError> {
    let golden_key = "golden_key".to_string();
    let mut account = FunPayAccount::new(golden_key);
    account.init().await?;
    let sender=FunPayAccount::create_sender(&account).expect("Error creating sender");
    let funpay_me=FPMe{id: account.id.expect("Error get info me, mb no valid golden key")};


    let mut rx = account.subscribe();

    tokio::spawn(async move {
    while let Ok(event) = rx.recv().await {
    match event {
    Event::NewMessage { message } => message_handler(message, &sender, &funpay_me).await,

    _ => {}
    }
    }
    });

    account.start_polling_loop().await?;
    Ok(())
    }
    Python
    pub struct FPMe{
    pub id: i64
    }
    use funpay_client::FunPaySender;
    use funpay_client::models::Message;
    use crate::models::FPMe;

    pub async fn message_handler(message: Message, sender: &FunPaySender, me: &FPMe) {
    if == message.author_id{return;} // Для удобаства можно запухнуть в в цикл
    // println!("{:?}", message);
    // println!("msg {}: {:?}", message.chat_name.unwrap(), message.text.unwrap());

    sender.send_chat_message(&message.chat_id, "Привет").await.unwrap();
    }
    Почему это удобно?
    Потому что библиотека очень легкая для понимания я буквально разобрался в ней за 10 минут после установки актуальной версии
    Ну есть проблема то что библиотеку сложно раскидывать по ссылкам
     
  2. MtProxy
    MtProxy Dec 13, 2025 ****** для тг https://lolz.live/threads/9806203/ 19,761 Jul 9, 2022
    кардинал есть . на нем заговнокодить плагин с 0 можно за 2 часа
     
    1. K1p1k Topic starter
      avatarMtProxy , Собираюсь писать на rust что то похожее только с портами, заливаешь на сервер по api общаешься UI или Tg будет
  3. gsix
    gsix Dec 13, 2025 шуе ппш 246 Nov 30, 2019
    раст так называемый
     
  4. doublepurpose
    doublepurpose Dec 21, 2025 117 Mar 27, 2025
    Какая логика писать unwrap в запросах? Потенциальная паника в релизном коде. У тебя ж задачи будут падать по хуйне и у других кто этот код возьмет за основу
     
    1. View previous comments (2)
    2. K1p1k Topic starter
    3. doublepurpose
      avatarK1p1k, Я за библиотеку не шарю, но это ж просто обертка над запросами, куучи разных проблем помимо невалидного ключа могут произойти, к примеру просто инета нету, возможно что будет либо проброс ошибки либо еще какая-то хуйня. Версия с unwrap_or_else глаз радует.
    4. K1p1k Topic starter
      avatardoublepurpose, Я проверил если ключ становиться не валид то новые евенты не придут
Loading...