lunarflu's picture
lunarflu HF staff
Update app.py
4b7b722 verified
raw
history blame
1.23 kB
import discord
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 = {
"urgent": "<@U12345678>",
"help": "<@U87654321>",
}
intents = discord.Intents.all()
intents.messages = True
bot = commands.Bot(command_prefix='!', intents=intents)
# Set up the Slack client
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']}")
bot.run(DISCORD_TOKEN)