#Discord button

5 messages · Page 1 of 1 (latest)

vernal mulch
#

thread::spawn(move || {
        let drpc = DRPC_CLIENT.lock().map_err(|e| e.to_string());
        if let Ok(mut drpc) = drpc {
            if let Some(ref mut client) = *drpc {
                let mut activity_builder = activity::Activity::new();
                
                if !state.is_empty() {
                    activity_builder = activity_builder.state(&state);
                }
                if !details.is_empty() {
                    activity_builder = activity_builder.details(&details);
                }
                
                let mut assets = activity::Assets::new()
                    .large_image(&large_image)
                    .large_text(&large_text);
                    
                if !small_image.is_empty() {
                    assets = assets
                        .small_image(&small_image)
                        .small_text(&small_text);
                }

                // this button is not shown idk why
                if let (Some(label), Some(url)) = (button_label.as_ref(), button_url.as_ref()) {
                    if !label.is_empty() && !url.is_empty() {
                        let button = activity::Button::new(label.as_str(), url.as_str());
                        activity_builder = activity_builder.buttons(vec![button]);
                    }
                }
                
                activity_builder = activity_builder
                    .assets(assets)
                    .activity_type(activity::ActivityType::Playing);

                match client.set_activity(activity_builder) {
                    Ok(_) => (),
                    Err(e) => eprintln!("Failed to set activity: {}", e), // Changed panic to eprintln
                }
            }
        }
    });
    Ok(())
}

#

but no nutton

#
  interface DiscordActivity {
    activity_type: string;
    state: string;
    details: string;
    largeImage: string;
    largeText: string;
    smallImage: string;
    smallText: string;
    buttonlabel?: string;
    buttonurl?: string;
  }

  const defaultActivity: DiscordActivity = {
    activity_type: "Playing",
    state: "",
    details: "idle",
    largeImage: "discord",
    largeText: "eSports App",
    smallImage: "",
    smallText: "",
    buttonlabel: "eSports App",
    buttonurl: "https://esportsapp.gg/"
  };

  async function updateDiscordActivity(activity: DiscordActivity = defaultActivity) {
    try {
      await invoke("update_activity", { ...activity });
      console.log("Activity updated!");
      console.log(activity);
    } catch (error) {
      console.error("Failed to update Discord RPC", error);
    }
  }
vernal mulch
#

my button do not show up and i dont know why

stone horizon