add join ngc with password
This commit is contained in:
@@ -122,7 +122,18 @@ void registerToxCommands(
|
|||||||
[&](std::string_view params, Message3Handle m) -> bool {
|
[&](std::string_view params, Message3Handle m) -> bool {
|
||||||
const auto contact_from = m.get<Message::Components::ContactFrom>().c;
|
const auto contact_from = m.get<Message::Components::ContactFrom>().c;
|
||||||
|
|
||||||
if (params.size() != 32*2) {
|
// split at first space for password
|
||||||
|
std::string_view group_id = params;
|
||||||
|
std::string_view password = "";
|
||||||
|
{
|
||||||
|
const auto space_pos = params.find_first_of(' ');
|
||||||
|
if (space_pos != params.npos && space_pos != 0 && space_pos+1 < params.size()) {
|
||||||
|
group_id = params.substr(0, space_pos);
|
||||||
|
password = params.substr(space_pos+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (group_id.size() != 32*2) {
|
||||||
rmm.sendText(
|
rmm.sendText(
|
||||||
contact_from,
|
contact_from,
|
||||||
"error joining group, id is not the correct size!"
|
"error joining group, id is not the correct size!"
|
||||||
@@ -133,11 +144,11 @@ void registerToxCommands(
|
|||||||
auto name_opt = conf.get_string("tox", "name");
|
auto name_opt = conf.get_string("tox", "name");
|
||||||
|
|
||||||
// TODO: add tcm interface
|
// TODO: add tcm interface
|
||||||
const auto [_, err] = t.toxGroupJoin(hex2bin(std::string{params}), std::string{name_opt.value_or("no-name-found")}, "");
|
const auto [_, err] = t.toxGroupJoin(hex2bin(std::string{group_id}), std::string_view{name_opt.value_or("no-name-found")}, password);
|
||||||
if (err == Tox_Err_Group_Join::TOX_ERR_GROUP_JOIN_OK) {
|
if (err == Tox_Err_Group_Join::TOX_ERR_GROUP_JOIN_OK) {
|
||||||
rmm.sendText(
|
rmm.sendText(
|
||||||
contact_from,
|
contact_from,
|
||||||
"joining group..."
|
std::string{"joining group..."} + (password.empty() ? "" : " with password")
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
rmm.sendText(
|
rmm.sendText(
|
||||||
@@ -148,7 +159,7 @@ void registerToxCommands(
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
"join a tox group by id"
|
"join a tox group by 'id [password]'"
|
||||||
);
|
);
|
||||||
|
|
||||||
mcd.registerCommand(
|
mcd.registerCommand(
|
||||||
|
Reference in New Issue
Block a user