48 Call_SearchQuery
args;
49 if(!args.Decode(&call.
tuple)) {
50 _log(SERVICE__ERROR,
"%s: Failed to decode arguments.",
GetName());
55 std::string str = args.str;
61 throw CustomError (
"Search String contains invalid characters");
70 Call_SearchQuery
args;
71 if(!args.Decode(&call.
tuple)) {
72 _log(SERVICE__ERROR,
"%s: Failed to decode arguments.",
GetName());
77 std::string str = args.str;
80 bool hideNPC =
true, onlyAltName =
false;
84 if (call.
byname.find(
"onlyAltName") != call.
byname.end())
88 for (
const auto cur : badCharsSearch)
90 throw CustomError (
"Search String contains invalid characters");
96 for (uint i = 0; i < str.length(); ++i)
Dispatcher *const m_dispatch
void SendErrorMsg(const char *fmt,...)
#define _log(type, fmt,...)
std::map< std::string, PyRep * > byname
Dispatcher *const m_dispatch
int32 GetCharacterID() const
const char * GetName() const
Advanced version of UserError that allows to send a full custom message.
void Replace(std::string &s)
PyCallable_Make_InnerDispatcher(Search) Search
PyRep * QuickQuery(std::string string, std::vector< int > *searchID, uint32 charID, bool hideNPC=false, bool onlyAltName=false)
#define PyCallable_REG_CALL(c, m)
static const std::array< std::string, 16 > badCharsSearch
static int64 IntegerValue(PyRep *pRep)
PyRep * Query(std::string string, std::vector< int > *searchID, uint32 charID)
bool icontains(std::string data, std::string toSearch, size_t pos=0)