public void Update(NFTReqType type, int holdX, int min, int max, string custom = "") { RequirementType = type; HoldXValue = holdX; MinRange = min; MaxRange = max; CustomCall = custom; }
public void Update(ulong gId, ulong rId, string tAd, NFTReqType type, string cName, string tName, int holdX, int min, int max, string custom = "") { guildId = gId; RoleId = rId; NFTAddress = tAd; RequirementType = type; ClaimName = cName.ToLower(); TokenName = tName.ToUpper(); HoldXValue = holdX; MinRange = min; MaxRange = max; CustomCall = custom; }
public NFTRoleHandler(ulong gId, ulong rId, string tAd, NFTReqType type, string cName, string tName, int holdX, int min, int max, string custom = "") { id = ObjectId.GenerateNewId(); guildId = gId; RoleId = rId; NFTAddress = tAd; RequirementType = type; ClaimName = cName.ToLower(); TokenName = tName.ToUpper(); HoldXValue = holdX; MinRange = min; MaxRange = max; CustomCall = custom; }
public static async Task UpdateRoleHandler(ulong guildId, ulong roleId, NFTReqType type, int holdX, int min, int max, string custom = "") { var collec = DatabaseConnection.GetDb().GetCollection <NFTRoleHandler>("NFTRoles"); var role = (await collec.FindAsync(r => r.RoleId == roleId)).FirstOrDefault(); if (role == null) { return; } else { role.Update(type, holdX, min, max, custom); var update = Builders <NFTRoleHandler> .Update.Set(r => r.RequirementType, role.RequirementType) .Set(r => r.HoldXValue, role.HoldXValue) .Set(r => r.MinRange, role.MinRange) .Set(r => r.MaxRange, role.MaxRange) .Set(r => r.CustomCall, role.CustomCall);; await collec.UpdateOneAsync(r => r.RoleId == role.RoleId, update); } }
public static async Task AddRoleHandler(ulong guildId, ulong roleId, string token, NFTReqType type, string cName, string tName, int holdX, int min, int max, string custom = "") { var collec = DatabaseConnection.GetDb().GetCollection <NFTRoleHandler>("NFTRoles"); var role = (await collec.FindAsync(r => r.RoleId == roleId)).FirstOrDefault(); if (role == null) { await collec.InsertOneAsync(new NFTRoleHandler(guildId, roleId, token, type, cName, tName, holdX, min, max, custom)); } else { role.Update(guildId, roleId, token, type, cName, tName, holdX, min, max, custom); await collec.ReplaceOneAsync(r => r.RoleId == roleId, role); } }
public async Task AddNFTRole(IRole role, params string[] input) { if (!await IsAdmin()) { return; } if (Context.Guild == null) { await ReplyAsync("You must issue this command inside a server!"); return; } if (input.Length > 7) { return; } var tokenName = input[0]; var nftAddress = input[1]; var reqType = input[2]; var value = Convert.ToInt32(input[3]); var claimName = input[input.Length - 1]; var inRange = ""; var rangeValue = ""; NFTReqType type = NFTReqType.HoldX; var min = 0; var max = 0; if (reqType.ToLower().StartsWith("hold")) { type = NFTReqType.HoldX; } if (input.Length > 5) { inRange = input[4]; rangeValue = input[5]; if (inRange.ToLower() == "range") { if (rangeValue[0] == '[' && rangeValue[rangeValue.Length - 1] == ']') { rangeValue = rangeValue.Substring(1, rangeValue.Length - 2); var arr = rangeValue.Split(';'); if (arr.Length == 2 && int.TryParse(arr[0], out min) && int.TryParse(arr[1], out max) && min < max) { type = NFTReqType.InRange; } else { await ReplyAsync("Wrong range format"); return; } } else { await ReplyAsync("Wrong range format"); return; } } } await NFTRoleHandler.AddRoleHandler(Context.Guild.Id, role.Id, nftAddress, type, claimName, tokenName, value, min, max); await Context.Message.AddReactionAsync(new Emoji("✅")); }