lunarflu's picture
lunarflu HF staff
Update app.py
a583920 verified
raw
history blame
1.46 kB
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_TOKEN = os.getenv('SIGNING_SECRET')
SLACK_CHANNEL_ID = os.getenv('CHANNEL_ID')
TRIGGERS = {
"discord bot": "<@U061W3NRFFA>",
"setfit": "tom aarsen",
"cv": "merve",
}
intents = discord.Intents.all()
intents.messages = True
bot = commands.Bot(command_prefix='!', intents=intents)
slack_client = WebClient(token=SLACK_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
content = message.content.lower()
for trigger, slack_mention in TRIGGERS.items():
if trigger in content:
await post_to_slack(message.content, slack_mention)
break
async def post_to_slack(content, slack_mention):
try:
response = slack_client.chat_postMessage(
channel=SLACK_CHANNEL_ID,
text=f"{slack_mention} New message in Discord: {content}"
)
except SlackApiError as e:
print(f"Error posting to Slack: {e.response['error']}")
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()