Clarify a few messages, improve replying to threads, etc.
This commit is contained in:
parent
d6ec1f9251
commit
83007f8243
1 changed files with 22 additions and 13 deletions
35
main.py
35
main.py
|
@ -6,7 +6,7 @@ import firepup650 as fp
|
||||||
|
|
||||||
input = fp.replitInput
|
input = fp.replitInput
|
||||||
|
|
||||||
fp.replitCursor = fp.bcolors.REPLIT + ">>>" + fp.bcolors.RESET
|
fp.replitCursor = fp.bcolors.REPLIT + ">>>" + fp.bcolors.RESET # Totally not hijacking one of my functions to use ;P
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
@ -14,36 +14,41 @@ for requiredVar in ["SLACK_BOT_TOKEN", "SLACK_APP_TOKEN"]:
|
||||||
if not os.environ.get(requiredVar):
|
if not os.environ.get(requiredVar):
|
||||||
raise ValueError(f'Missing required environment variable "{requiredVar}". Please create a .env file in the same directory as this script and define it.')
|
raise ValueError(f'Missing required environment variable "{requiredVar}". Please create a .env file in the same directory as this script and define it.')
|
||||||
|
|
||||||
# Initializes your app with your bot token and socket mode handler
|
|
||||||
app = App(token=os.environ.get("SLACK_BOT_TOKEN"))
|
app = App(token=os.environ.get("SLACK_BOT_TOKEN"))
|
||||||
client = app.client
|
client = app.client
|
||||||
|
|
||||||
# Start your app
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
print("^D at any time to terminate program")
|
||||||
while 1:
|
while 1:
|
||||||
chan = input("Channel")
|
chan = input("Channel ID")
|
||||||
try:
|
try:
|
||||||
print("^C to change channel")
|
print("^C to change channel")
|
||||||
while 1:
|
while 1:
|
||||||
thread = input("Reply to a thread?").lower().startswith("y")
|
thread = input("Reply to a thread? (y|N)").lower().startswith("y")
|
||||||
ts = None
|
ts = None
|
||||||
if thread:
|
if thread:
|
||||||
hasID = input("Do you have the TS ID?").lower().startswith("y")
|
hasID = input("Do you have the TS ID? (y|N))").lower().startswith("y")
|
||||||
if not hasID:
|
if not hasID:
|
||||||
try:
|
try:
|
||||||
|
print("Getting the last 50 messages for threading options...")
|
||||||
res = client.conversations_history(
|
res = client.conversations_history(
|
||||||
channel=chan, inclusive=True, limit=1
|
channel=chan, inclusive=True, limit=50
|
||||||
)
|
)
|
||||||
found = res["messages"][0]
|
messages = res["messages"]
|
||||||
print(found)
|
texts = {}
|
||||||
|
for i in range(len(messages)):
|
||||||
|
texts[f'{messages[i]["text"]} ({messages[i]["ts"]})'] = i
|
||||||
|
found = messages[fp.menu(texts, "Please select the message to reply to as a thread")]
|
||||||
ts = found["ts"]
|
ts = found["ts"]
|
||||||
except Exception as E:
|
except Exception as E:
|
||||||
print(f"Exception: {E}")
|
print(f"Exception: {E}")
|
||||||
|
break
|
||||||
else:
|
else:
|
||||||
ts = input("TS ID")
|
ts = input("TS ID")
|
||||||
print("^C to change thread/channel")
|
print("^C to change/exit thread (^C twice if you want to change channel)")
|
||||||
while 1:
|
try:
|
||||||
msg = input("Message")
|
while 1:
|
||||||
|
msg = input("[THREAD] Message (Raw text, not blocks)")
|
||||||
try:
|
try:
|
||||||
print(
|
print(
|
||||||
client.chat_postMessage(
|
client.chat_postMessage(
|
||||||
|
@ -52,7 +57,11 @@ if __name__ == "__main__":
|
||||||
)
|
)
|
||||||
except Exception as E:
|
except Exception as E:
|
||||||
print(f"Exception: {E}")
|
print(f"Exception: {E}")
|
||||||
msg = input("Message")
|
except KeyboardInterrupt:
|
||||||
|
print()
|
||||||
|
if ts:
|
||||||
|
continue
|
||||||
|
msg = input("Message (Raw text, not blocks)")
|
||||||
try:
|
try:
|
||||||
print(client.chat_postMessage(channel=chan, text=msg))
|
print(client.chat_postMessage(channel=chan, text=msg))
|
||||||
except Exception as E:
|
except Exception as E:
|
||||||
|
|
Loading…
Reference in a new issue