Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
File size: 2,407 Bytes
78dea1a db21dc3 434f798 db21dc3 b0918e1 78dea1a b7eca85 ad9d692 8dd1108 676f51e ad9d692 cbe51b9 c6565e2 b7eca85 773ec73 78dea1a b7eca85 09d6ac2 773ec73 b80bf81 d3ba82c 78dea1a 773ec73 90c7959 773ec73 3c830fa 773ec73 c6565e2 d4ce55b c6565e2 db21dc3 b3ba3b3 |
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 |
import discord
import threading
import os
import gradio as gr
import time
from discord.ext import commands
from slack_sdk import WebClient
from slack_sdk.errors import SlackApiError
import aiojobs
import asyncio
import re
from datetime import datetime, timedelta
from apscheduler.executors.pool import ThreadPoolExecutor
from apscheduler.schedulers.background import BackgroundScheduler
DISCORD_TOKEN = os.environ.get("DISCORD_TOKEN", None)
intents = discord.Intents.all()
bot = commands.Bot(command_prefix='!', intents=intents)
global_df = pd.DataFrame()
test_merge = pd.read_csv("https://docs.google.com/spreadsheets/d/1C8aLqgCqLYcMiIFf-P_Aosaa03C_WLIB_UyqvjSdWg8/export?format=csv&gid=0")
@bot.event
async def on_ready():
global global_df
"""import data from google sheets -> HF Space df (doesn't make API call this way, as it's read-only)"""
global_df = test_merge
print(f"csv successfully retrieved: \n {global_df}")
@tasks.loop(seconds=10)
async def give_verified_roles():
try:
global global_df
guild = bot.get_guild(879548962464493619)
role = guild.get_role(900063512829755413)
org_link = "https://huggingface.co/organizations/discord-community/share/wPKRAHYbAlaEaCxUxcqVyaaaeZcYagDvqc"
invite_message = "Click to join our community org on the HF Hub!"
await guild.chunk()
for index, row in global_df.iterrows():
hf_user_name = row['hf_user_name']
if pd.notna(hf_user_name) and hf_user_name.lower() != 'n/a':
discord_id = row['discord_user_id'].strip('L')
member = guild.get_member(int(discord_id))
if not member:
continue
if role not in member.roles:
await member.add_roles(role)
lunar = bot.get_user(811235357663297546)
await lunar.send(f"Verified role given to {member}!")
await member.send(f"Verification successful! [{member} <---> {row['discord_user_name']}] \n🤗 {org_link} {invite_message}")
except Exception as e:
print(f"Error: {e}")
# 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() |