fixed type error

This commit is contained in:
Alex Orid 2021-04-26 17:23:47 -04:00
parent df8805e5ee
commit a29f71e268
3 changed files with 47 additions and 26 deletions

View File

@ -6,16 +6,18 @@ class ChannelReward_Hydration_v2(AbstractChannelRewards, metaclass=ABCMeta):
""" """
this is the hydration reward. this is the hydration reward.
""" """
ChannelRewardName = "hydration" ChannelRewardName = "Hydrate"
def __init__(self): def __init__(self):
super().__init__(ChannelReward_Hydration_v2.ChannelRewardName, n_args=1, command_type=AbstractChannelRewards.ChannelRewardsType.channelPoints) super().__init__(ChannelReward_Hydration_v2.ChannelRewardName, n_args=1, ChannelRewardType=AbstractChannelRewards.ChannelRewardsType.channelPoints)
self.help = ["This is a hydration channel point reward."] self.help = ["This is a hydration channel point reward."]
self.isChannelRewardEnabled = True self.isChannelRewardEnabled = True
def do_ChannelReward(self, source = AbstractChannelRewards.ChannelRewardsSource.default, user = "User", command = "", rest = "", bonusData = None): def do_ChannelReward(self, source = AbstractChannelRewards.ChannelRewardsSource.default, user = "User", rewardName = "", rest = "", bonusData = None):
returnString = user + " sent: [ " + command + " ] with: " + rest returnString = user + " sent: [ " + rewardName + " ] with: " + rest
#print(returnString) print(returnString)
for x in range(10):
print("This is wet")
return returnString return returnString
def get_help(self): def get_help(self):

View File

@ -22,18 +22,22 @@ def load_rewards():
loadedRewards[AbstractChannelRewards.ChannelRewardsType.twitch_subs] = rewards_loader.load_rewards(AbstractChannelRewards.ChannelRewardsType.twitch_subs) loadedRewards[AbstractChannelRewards.ChannelRewardsType.twitch_subs] = rewards_loader.load_rewards(AbstractChannelRewards.ChannelRewardsType.twitch_subs)
def is_reward(reward_name: str, reward_type: str) -> bool: def is_reward(reward_name, reward_type) -> bool:
#print(reward) tempType = reward_type.replace('ChannelRewardsType.', '')
for reward in loadedRewards[reward_type]: realTempType = AbstractChannelRewards.ChannelRewardsType.__dict__[tempType]
#print(reward)
if reward_name == reward: rewardList = loadedRewards[realTempType]
return True print("testing mcgoo")
for reward in rewardList:
print(reward)
print("testing oogcm")
if reward_name == "!echo": if reward_name == "!echo":
return True return True
else: else:
return False return False
def handle_reward(source, username, reward_name, reward_type, rest, bonusData): def handle_reward(source, username, reward_name, reward_type, rest, bonusData):
#reward:AbstractChannelRewards = loadedRewards[reward_name] #reward:AbstractChannelRewards = loadedRewards[reward_name]
reward:AbstractChannelRewards = loadedRewards[reward_type][reward_name] reward:AbstractChannelRewards = loadedRewards[reward_type][reward_name]

View File

@ -7,6 +7,7 @@ import requests
import credentials import credentials
import config import config
from channel_rewards.channelRewards_base import AbstractChannelRewards
import channel_rewards.channelRewards_base import channel_rewards.channelRewards_base
import twitchAPI import twitchAPI
@ -79,11 +80,22 @@ class Twitch_Pubsub():
print("Channel Point Redemption") print("Channel Point Redemption")
print('got callback for UUID ' + str(uuid)) print('got callback for UUID ' + str(uuid))
pprint(data) pprint(data)
#self.callback_EXEC( #print("attempting to get data: ")
# "sender", #print(data['data']['redemption']['user']['display_name'])
# "rewardName", #print(data['data']['redemption']['reward']['title'])
# channel_rewards.channelRewards_base.AbstractChannelRewards.ChannelRewardsType.channelPoints, #print(data['data']['redemption']['reward']['prompt'])
# data) try:
userinput = data['data']['redemption']['user_input']
except:
userinput = ""
#print(userinput)
self.callback_EXEC(
data['data']['redemption']['user']['display_name'],
data['data']['redemption']['reward']['title'],
AbstractChannelRewards.ChannelRewardsType.channelPoints,
data['data']['redemption']['reward']['prompt'],
userinput,
data)
def callback_bits(self, uuid: UUID, data: dict) -> None: def callback_bits(self, uuid: UUID, data: dict) -> None:
print("Bits Redemption") print("Bits Redemption")
@ -95,33 +107,36 @@ class Twitch_Pubsub():
print('got callback for UUID ' + str(uuid)) print('got callback for UUID ' + str(uuid))
pprint(data) pprint(data)
def callback_EXEC(self, sender, rewardName:str, rewardType, rewardPrompt, userInput, raw_data):
def callback_EXEC(self, sender, rewardName:str, rewardType, raw_data):
try: try:
is_actionable = self.is_reward(rewardName, rewardType) is_actionable = self.is_reward(rewardName, rewardType)
if is_actionable: if is_actionable:
if self.cooldownModule.isCooldownActive("twitchChat") == False: if self.cooldownModule.isCooldownActive("twitchChat") == False:
self.exec_reward(sender, rewardName, rewardType, "", raw_data) self.exec_reward(sender, rewardName, rewardType, rewardPrompt, userInput, raw_data)
except: except:
print("something went wrong with a reward") print("something went wrong with a reward")
def is_reward(self, rewardName:str, rewardType): def is_reward(self, rewardName, rewardType):
# todo need to url-escape word # todo need to url-escape word
clean_param = urlencode({'reward_name': rewardName, 'reward_type':rewardType}) clean_param = urlencode({'reward_name': rewardName, 'reward_type':rewardType})
url = "http://channelrewards:6969/api/v1/reward?%s" % clean_param print(rewardName, rewardType)
#standalone_channelrewards
url = "http://localhost:6969/api/v1/reward?%s" % clean_param
resp = requests.get(url) resp = requests.get(url)
return resp.status_code == 200 return resp.status_code == 200
def exec_reward(self, sender, reward, rewardType, rest, realMessage): def exec_reward(self, sender, rewardName, rewardType, rewardPrompt, userInput, realMessage):
params = urlencode( params = urlencode(
{'command_source': channel_rewards.channelRewards_base.AbstractChannelRewards.ChannelRewardsSource.Twitch, {'reward_source': channel_rewards.channelRewards_base.AbstractChannelRewards.ChannelRewardsSource.Twitch,
'user_name': sender, 'user_name': sender,
'reward_name': reward, 'reward_name': rewardName,
'reward_type': rewardType, 'reward_type': rewardType,
'rest': rest, 'reward_prompt': rewardPrompt,
'user_input' : userInput,
'bonus_data': realMessage}) 'bonus_data': realMessage})
url = "http://channelrewards:6969/api/v1/exec_reward?%s" % params #standalone_channelrewards
url = "http://localhost:6969/api/v1/exec_reward?%s" % params
resp = requests.get(url) resp = requests.get(url)
if resp.status_code == 200: if resp.status_code == 200:
print("Got the following message: %s" % resp.text) print("Got the following message: %s" % resp.text)