tg_cli: treat strings as usernames.
This commit is contained in:
parent
16913bff03
commit
6bbc251cb5
|
@ -454,12 +454,18 @@ class CliClient final : public Actor {
|
||||||
|
|
||||||
int64 as_chat_id(Slice str) const {
|
int64 as_chat_id(Slice str) const {
|
||||||
str = trim(str);
|
str = trim(str);
|
||||||
|
if (str == "me") {
|
||||||
|
return my_id_;
|
||||||
|
}
|
||||||
if (str[0] == '@') {
|
if (str[0] == '@') {
|
||||||
auto it = username_to_user_id_.find(to_lower(str.substr(1)));
|
str.remove_prefix(1);
|
||||||
|
}
|
||||||
|
if (is_alpha(str[0])) {
|
||||||
|
auto it = username_to_user_id_.find(to_lower(str));
|
||||||
if (it != username_to_user_id_.end()) {
|
if (it != username_to_user_id_.end()) {
|
||||||
return it->second;
|
return it->second;
|
||||||
}
|
}
|
||||||
auto it2 = username_to_supergroup_id_.find(to_lower(str.substr(1)));
|
auto it2 = username_to_supergroup_id_.find(to_lower(str));
|
||||||
if (it2 != username_to_supergroup_id_.end()) {
|
if (it2 != username_to_supergroup_id_.end()) {
|
||||||
auto supergroup_id = it2->second;
|
auto supergroup_id = it2->second;
|
||||||
return static_cast<int64>(-1000'000'000'000ll) - supergroup_id;
|
return static_cast<int64>(-1000'000'000'000ll) - supergroup_id;
|
||||||
|
@ -467,9 +473,6 @@ class CliClient final : public Actor {
|
||||||
LOG(ERROR) << "Can't resolve " << str;
|
LOG(ERROR) << "Can't resolve " << str;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (str == "me") {
|
|
||||||
return my_id_;
|
|
||||||
}
|
|
||||||
return to_integer<int64>(str);
|
return to_integer<int64>(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -535,17 +538,20 @@ class CliClient final : public Actor {
|
||||||
|
|
||||||
int32 as_user_id(Slice str) const {
|
int32 as_user_id(Slice str) const {
|
||||||
str = trim(str);
|
str = trim(str);
|
||||||
|
if (str == "me") {
|
||||||
|
return my_id_;
|
||||||
|
}
|
||||||
if (str[0] == '@') {
|
if (str[0] == '@') {
|
||||||
auto it = username_to_user_id_.find(to_lower(str.substr(1)));
|
str.remove_prefix(1);
|
||||||
|
}
|
||||||
|
if (is_alpha(str[0])) {
|
||||||
|
auto it = username_to_user_id_.find(to_lower(str));
|
||||||
if (it != username_to_user_id_.end()) {
|
if (it != username_to_user_id_.end()) {
|
||||||
return it->second;
|
return it->second;
|
||||||
}
|
}
|
||||||
LOG(ERROR) << "Can't find user " << str;
|
LOG(ERROR) << "Can't find user " << str;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (str == "me") {
|
|
||||||
return my_id_;
|
|
||||||
}
|
|
||||||
return to_integer<int32>(str);
|
return to_integer<int32>(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -565,7 +571,10 @@ class CliClient final : public Actor {
|
||||||
int32 as_supergroup_id(Slice str) {
|
int32 as_supergroup_id(Slice str) {
|
||||||
str = trim(str);
|
str = trim(str);
|
||||||
if (str[0] == '@') {
|
if (str[0] == '@') {
|
||||||
return username_to_supergroup_id_[to_lower(str.substr(1))];
|
str.remove_prefix(1);
|
||||||
|
}
|
||||||
|
if (is_alpha(str[0])) {
|
||||||
|
return username_to_supergroup_id_[to_lower(str)];
|
||||||
}
|
}
|
||||||
auto result = to_integer<int64>(str);
|
auto result = to_integer<int64>(str);
|
||||||
int64 shift = static_cast<int64>(-1000000000000ll);
|
int64 shift = static_cast<int64>(-1000000000000ll);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user