public async Task <PlayerVotes> GetPlayerVotes(string steamId) { PlayerVotes requests = new PlayerVotes(); if (_type == ClientType.UnturnedServers || _type == ClientType.Both) { string result = new WebClient().DownloadString(ServersNetGetUrl(steamId)); bool worked = int.TryParse(result, out int endCode); if (!worked) { endCode = 0; } PlayerGetVoteRequest request = new PlayerGetVoteRequest(steamId, endCode, ClientType.UnturnedServers); requests.Add(request); } if (_type == ClientType.UnturnedSl || _type == ClientType.Both) { string result = new WebClient().DownloadString(SlGetUrl(steamId)); bool worked = int.TryParse(result, out int endCode); if (!worked) { endCode = 0; } PlayerGetVoteRequest request = new PlayerGetVoteRequest(steamId, endCode, ClientType.UnturnedSl); requests.Add(request); } return(requests); }
protected override async UniTask OnExecuteAsync() { PlayerVotes requests = await _voting.GetPlayerVotes((UnturnedUser)Context.Actor); foreach (PlayerGetVoteRequest request in requests) { ClientType type = requests[request]; if (request.HasVoted && !request.HasClaimed) { await Context.Actor.PrintMessageAsync(_localizer[$"voting:rewards:hasVoted:{type.String()}"]); await _rewardService.GiveReward(Context.Actor as IUser); } } }