Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 2,964 Bytes
78dea1a db21dc3 434f798 db21dc3 78dea1a b7eca85 4b7b722 56509cf b7eca85 a368445 d448043 b7eca85 78dea1a b7eca85 75d2f81 b7eca85 78dea1a b7eca85 78dea1a b7eca85 9177836 78dea1a b7eca85 78dea1a a368445 b7eca85 9177836 a368445 b7eca85 78dea1a 9e52f3a b7eca85 d4ce55b db21dc3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
import discord
import threading
import os
import gradio as gr
from discord.ext import commands
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
DISCORD_TOKEN = os.getenv('DISCORD_TOKEN')
SLACK_BOT_TOKEN = os.getenv('BOT_USER_OAUTH_TOKEN_HF')
SLACK_CHANNEL_ID = os.getenv('SLACK_CHANNEL_ID_HF')
TRIGGERS = {
"discord bot": "<@U051DB2754M>", # Adam
"text to speech": "<@U039C2GANMV>", # VB
"tts": "<@U039C2GANMV>", # VB
"asr": "<@U039C2GANMV>", # VB
"musicgen": "<@U039C2GANMV>", # VB
"whisper": "<@U039C2GANMV>", # VB
"speech recognition": "<@U039C2GANMV>", # VB
"bark": "<@U039C2GANMV>", # VB
"autotrain": "<@U01E3LEC2N7>", # abhishek
"sentence-transformers": "<@U04E4DNPWG7>", # tom aarsen
"sentence_transformers": "<@U04E4DNPWG7>", # tom aarsen
"setfit": "<@U04E4DNPWG7>", # tom aarsen
"sentence transformers": "<@U04E4DNPWG7>", # tom aarsen
}
intents = discord.Intents.all()
intents.messages = True
bot = commands.Bot(command_prefix='!', intents=intents)
slack_client = WebClient(token=SLACK_BOT_TOKEN)
@bot.event
async def on_ready():
print(f'Logged in as {bot.user}')
@bot.event
async def on_message(message):
if message.author == bot.user:
return
# notification bot
content = message.content.lower()
for trigger, slack_mention in TRIGGERS.items():
if trigger in content:
await post_to_slack(message.author, message.content, message.channel.name, message.jump_url, slack_mention, trigger)
break
# ask-for-help
if message.channel.id == 1019883044724822016:
title = message.embeds[0].title if message.embeds else "No Title"
content = message.content
try:
# title
response = slack_client.chat_postMessage(
channel=SLACK_CHANNEL,
text=f"New post in {message.channel.name} by {message.author}:\n*{title}*"
)
# reply in thread
thread_ts = response['ts']
slack_client.chat_postMessage(
channel=SLACK_CHANNEL,
text=content,
thread_ts=thread_ts
)
except SlackApiError as e:
print(f"Error posting to Slack: {e.response['error']}")
async def post_to_slack(author, content, channel, url, slack_mention, trigger):
try:
response = slack_client.chat_postMessage(
channel=SLACK_CHANNEL_ID,
text=f"{slack_mention} (for the keyword -> '{trigger}')\nFrom {author} in channel #{channel}: {content}\n{url}"
)
except SlackApiError as e:
print(f"Error posting to Slack: {e.response['error']}")
# runs discord bot in thread = helps avoid blocking calls
def run_bot():
bot.run(DISCORD_TOKEN)
threading.Thread(target=run_bot).start()
def greet(name):
return "Hello " + name + "!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
demo.launch()
|