Fixed Light Command

Able to use RGB Values (0 to 1)
ex: !lights 1 1 1

Able to use Colors
ex: !lights red
This commit is contained in:
Alex Orid 2021-04-07 17:24:37 -04:00
parent 8f60e00a6d
commit b519a50702
3 changed files with 28 additions and 15 deletions

View File

@ -11,7 +11,7 @@ class CommandRoll(AbstractCommand, metaclass=ABCMeta):
"""
this is the roll command.
"""
command = "!rgb"
command = "!lights"
def __init__(self):
super().__init__(CommandRoll.command, n_args=3, command_type=AbstractCommand.CommandType.TWITCH)
@ -19,21 +19,25 @@ class CommandRoll(AbstractCommand, metaclass=ABCMeta):
def do_command(self, bot, twitch_message):
LightModule = lights_module.Lights_Module()
LightModule.main()
print("\nRGB Command Detected!")
tempParsedMessage = twitch_message.text.split(" ")
run_lightsCommand = False
if (utilities.does_contain_OnlyNumbers(tempParsedMessage[1]) &
utilities.does_contain_OnlyNumbers(tempParsedMessage[2]) &
utilities.does_contain_OnlyNumbers(tempParsedMessage[3])) == True:
print("\nParsed Command! ", twitch_message.text)
if (len(tempParsedMessage)) > 2:
print("\nRGB Command!")
rgb_r = float(tempParsedMessage[1])
rgb_g = float(tempParsedMessage[2])
rgb_b = float(tempParsedMessage[3])
xy_result = LightModule.rgb_to_xy(rgb_r, rgb_g, rgb_b)
print("got XY")
LightModule.bridge_.set_group(16, "xy", xy_result)
print("sent color")
else:
print("\nColor Command!")
xy_result = LightModule.color_string_parser(tempParsedMessage)
print("got XY")
LightModule.bridge_.set_group(16, "xy", xy_result)
print("sent color")
returnMessage = "@" + twitch_message.sender + " changed the colors!"
bot.send_message(returnMessage)

View File

@ -106,13 +106,18 @@ class Lights_Module():
return [x, y]
def color_string_parser(self, message):
xy_color = 0
print("trying to find color")
xy_color = [0, 0]
for text in message:
if "red" in message.lower():
print("testing word")
if "red" in text.lower():
xy_color = self.rgb_to_xy(1,0,0)
if "blue" in message.lower():
print("found: red")
if "blue" in text.lower():
print("found: blue")
xy_color = self.rgb_to_xy(0,0,1)
if "green" in message.lower():
if "green" in text.lower():
print("found: green")
xy_color = self.rgb_to_xy(0,1,0)
return xy_color

View File

@ -22,11 +22,15 @@ def get_args(text: str) -> list:
def does_contain_OnlyNumbers(self, text):
isJustNumbers = False
print("checking numbers")
try:
for x in range(10):
if str(x) in text:
if str(x) in str(text):
isJustNumbers = True
else:
isJustNumbers = False
except:
pass
return isJustNumbers