Ask user why he joined the server + add him the member role
This commit is contained in:
@@ -2,3 +2,5 @@
|
|||||||
|
|
||||||
#include <dpp/dpp.h>
|
#include <dpp/dpp.h>
|
||||||
#include <dpp/nlohmann/json.hpp>
|
#include <dpp/nlohmann/json.hpp>
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
39
src/main.cpp
39
src/main.cpp
@@ -18,8 +18,43 @@ int main(int argc, char const *argv[]) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
bot.on_guild_member_add([&bot](const dpp::guild_member_add_t& event) {
|
bot.on_button_click([&bot](const dpp::button_click_t& event) {
|
||||||
bot.guild_member_add_role(event.adding_guild.id, event.added.user_id, (dpp::snowflake)"979375572054589471");
|
dpp::interaction_modal_response modal("reason", "uwu2x");
|
||||||
|
modal.add_component(
|
||||||
|
dpp::component()
|
||||||
|
.set_label("Why did you join this server ?")
|
||||||
|
.set_id("reason")
|
||||||
|
.set_type(dpp::cot_text)
|
||||||
|
.set_text_style(dpp::text_paragraph)
|
||||||
|
.set_required(true)
|
||||||
|
);
|
||||||
|
event.dialog(modal);
|
||||||
|
});
|
||||||
|
|
||||||
|
bot.on_form_submit([&bot](const dpp::form_submit_t& event) {
|
||||||
|
bot.guild_member_add_role(
|
||||||
|
event.command.guild_id,
|
||||||
|
event.command.get_issuing_user().id,
|
||||||
|
dpp::snowflake("979375572054589471")
|
||||||
|
);
|
||||||
|
|
||||||
|
std::string reason_text = std::get<std::string>(event.components[0].value);
|
||||||
|
dpp::embed embed;
|
||||||
|
embed.set_color(dpp::colors::sti_blue)
|
||||||
|
.set_title("Welcome " + event.command.get_issuing_user().username)
|
||||||
|
.set_description("**" + event.command.get_issuing_user().username + "** joined the server because : " + reason_text)
|
||||||
|
.set_timestamp(time(nullptr));
|
||||||
|
|
||||||
|
bot.channel_get(
|
||||||
|
dpp::snowflake("979375590228500551"),
|
||||||
|
[&bot, embed](const dpp::confirmation_callback_t& callback) {
|
||||||
|
if (callback.is_error()) return;
|
||||||
|
const dpp::channel& channel = std::get<dpp::channel>(callback.value);
|
||||||
|
bot.message_create(dpp::message(channel.id, embed));
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
event.reply();
|
||||||
});
|
});
|
||||||
|
|
||||||
bot.on_ready([&bot](const dpp::ready_t& event) {
|
bot.on_ready([&bot](const dpp::ready_t& event) {
|
||||||
|
|||||||
Reference in New Issue
Block a user