public string BindCommonlyName(string msg, QQ fromQQ) //绑定俗称词库 { bool isHans = EVEUtil.IncludeChinese(msg); if (EVEUtil.ParseBindMsg(msg, out var key, out var value)) { if (!this.BindCommonlyAuthorize(fromQQ)) { return(isHans ? "您没有权限进行该操作" : "You do not have permission to do this."); } //防注入 if (!EVEUtil.IsSafeSqlString(key) || !EVEUtil.IsSafeSqlString(value)) { return(isHans ? $"输入内容不安全: {key} | {value}" : $"Input is not secure: {key} | {value}"); } //执行绑定 this.MarketDB.AddCommonlyRecord(key, value); return(isHans ? "完成" : "Finished"); }
public void AddOrUpdateUSerInfo(long qq_id, string qq_name, long group_id = -1) { if (!NekoCore.Instance.Config.Users.EnableUserSystem) { return; } using (var cmd = new SQLiteCommand()) { cmd.Connection = cn; #pragma warning disable CA2100 // Review SQL queries for security vulnerabilities cmd.CommandText = $"SELECT * FROM user WHERE userid = {qq_id}"; #pragma warning restore CA2100 // Review SQL queries for security vulnerabilities var reader = cmd.ExecuteReader(); bool flag = false; string group_str = ""; if (reader.Read()) { //有数据,检查是否需要更新数据 if (reader.GetString(1) != qq_name) { flag = true; } //AppData.CQLog.Debug("Users", "解析群组数据"); group_str = reader.GetString(2) ?? ""; //AppData.CQLog.Debug("Users", "取到group 字符串:", group_str); if (group_id != -1) { if (EVEUtil.TryGetLongListByString(group_str, out var group_list)) { if (!group_list.Contains(group_id)) { group_list.Add(group_id); group_str = EVEUtil.GetString(group_list); flag = true; } } else { flag = true; group_str = group_id.ToString(); //AppData.CQLog.Debug("Users", "解析group字符串失败"); } } } else { flag = true; group_str = group_id == -1 ? "" : group_id.ToString(); } reader.Close(); if (flag) { cmd.CommandText = "REPLACE INTO user (userid,name,groups) VALUES(@userid,@name,@groups)"; cmd.Parameters.Add("userid", DbType.Int64).Value = qq_id; cmd.Parameters.Add("name", DbType.String).Value = qq_name; cmd.Parameters.Add("groups", DbType.String).Value = group_str; cmd.ExecuteNonQuery(); } } }