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:
parent
8f60e00a6d
commit
b519a50702
@ -11,7 +11,7 @@ class CommandRoll(AbstractCommand, metaclass=ABCMeta):
|
|||||||
"""
|
"""
|
||||||
this is the roll command.
|
this is the roll command.
|
||||||
"""
|
"""
|
||||||
command = "!rgb"
|
command = "!lights"
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__(CommandRoll.command, n_args=3, command_type=AbstractCommand.CommandType.TWITCH)
|
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):
|
def do_command(self, bot, twitch_message):
|
||||||
LightModule = lights_module.Lights_Module()
|
LightModule = lights_module.Lights_Module()
|
||||||
LightModule.main()
|
LightModule.main()
|
||||||
|
print("\nRGB Command Detected!")
|
||||||
|
|
||||||
tempParsedMessage = twitch_message.text.split(" ")
|
tempParsedMessage = twitch_message.text.split(" ")
|
||||||
|
print("\nParsed Command! ", twitch_message.text)
|
||||||
run_lightsCommand = False
|
if (len(tempParsedMessage)) > 2:
|
||||||
if (utilities.does_contain_OnlyNumbers(tempParsedMessage[1]) &
|
print("\nRGB Command!")
|
||||||
utilities.does_contain_OnlyNumbers(tempParsedMessage[2]) &
|
|
||||||
utilities.does_contain_OnlyNumbers(tempParsedMessage[3])) == True:
|
|
||||||
rgb_r = float(tempParsedMessage[1])
|
rgb_r = float(tempParsedMessage[1])
|
||||||
rgb_g = float(tempParsedMessage[2])
|
rgb_g = float(tempParsedMessage[2])
|
||||||
rgb_b = float(tempParsedMessage[3])
|
rgb_b = float(tempParsedMessage[3])
|
||||||
xy_result = LightModule.rgb_to_xy(rgb_r, rgb_g, rgb_b)
|
xy_result = LightModule.rgb_to_xy(rgb_r, rgb_g, rgb_b)
|
||||||
|
print("got XY")
|
||||||
LightModule.bridge_.set_group(16, "xy", xy_result)
|
LightModule.bridge_.set_group(16, "xy", xy_result)
|
||||||
|
print("sent color")
|
||||||
else:
|
else:
|
||||||
|
print("\nColor Command!")
|
||||||
xy_result = LightModule.color_string_parser(tempParsedMessage)
|
xy_result = LightModule.color_string_parser(tempParsedMessage)
|
||||||
|
print("got XY")
|
||||||
LightModule.bridge_.set_group(16, "xy", xy_result)
|
LightModule.bridge_.set_group(16, "xy", xy_result)
|
||||||
|
print("sent color")
|
||||||
|
|
||||||
returnMessage = "@" + twitch_message.sender + " changed the colors!"
|
returnMessage = "@" + twitch_message.sender + " changed the colors!"
|
||||||
bot.send_message(returnMessage)
|
bot.send_message(returnMessage)
|
||||||
@ -106,13 +106,18 @@ class Lights_Module():
|
|||||||
return [x, y]
|
return [x, y]
|
||||||
|
|
||||||
def color_string_parser(self, message):
|
def color_string_parser(self, message):
|
||||||
xy_color = 0
|
print("trying to find color")
|
||||||
|
xy_color = [0, 0]
|
||||||
for text in message:
|
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)
|
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)
|
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)
|
xy_color = self.rgb_to_xy(0,1,0)
|
||||||
|
|
||||||
return xy_color
|
return xy_color
|
||||||
|
|||||||
@ -21,14 +21,18 @@ def get_args(text: str) -> list:
|
|||||||
return text.split(" ")
|
return text.split(" ")
|
||||||
|
|
||||||
def does_contain_OnlyNumbers(self, text):
|
def does_contain_OnlyNumbers(self, text):
|
||||||
isJustNumbers = False
|
isJustNumbers = False
|
||||||
|
print("checking numbers")
|
||||||
|
try:
|
||||||
for x in range(10):
|
for x in range(10):
|
||||||
if str(x) in text:
|
if str(x) in str(text):
|
||||||
isJustNumbers = True
|
isJustNumbers = True
|
||||||
else:
|
else:
|
||||||
isJustNumbers = False
|
isJustNumbers = False
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
return isJustNumbers
|
return isJustNumbers
|
||||||
|
|
||||||
def contains_slur(self, input: str):
|
def contains_slur(self, input: str):
|
||||||
containsSlur: bool = False
|
containsSlur: bool = False
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user