Advertisement
LawMixer

sssss

Feb 18th, 2023
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. import firebase_admin, random, string, asyncio, os, socket, sys, http, interactions, datetime
  2.  
  3. from firebase_admin import credentials, db
  4. from dateutil import parser as du_parser
  5. from datetime import datetime
  6. from dotenv import load_dotenv
  7. from twitchAPI.twitch import Twitch
  8. from twitchAPI.oauth import UserAuthenticator
  9. from twitchAPI.types import AuthScope
  10. from twitchAPI.oauth import refresh_access_token
  11. from twitchAPI.twitch import Twitch
  12. from twitchAPI.helper import first
  13. from twitchAPI.eventsub import EventSub
  14.  
  15.  
  16. load_dotenv()
  17. CLIENT_ID = os.getenv('CLIENT_ID')
  18. CLIENT_SECRET = os.getenv('CLIENT_SECRET')
  19. EVENTSUB_URL = "https://twitch.lawmixerscpf.tk"
  20. OAUTH_TOKEN = os.getenv('OAUTH_TOKEN')
  21. OAUTH_REFRESH_TOKEN = os.getenv('OAUTH_REFRESH_TOKEN')
  22.  
  23. bot = interactions.Client(
  24. token=os.environ["DISCORD_TOKEN"],
  25. intents= interactions.Intents.ALL | interactions.Intents.GUILD_MESSAGE_CONTENT)
  26.  
  27. bot.load("events.event")
  28.  
  29. cred = credentials.Certificate("s")
  30.  
  31. default_app = firebase_admin.initialize_app(cred, {
  32. 'databaseURL': "s"
  33. })
  34.  
  35.  
  36. async def stream_online(data: dict):
  37. streamerName = data["event"]["broadcaster_user_login"]
  38. started_at = data["event"]["started_at"]
  39. timestamp = du_parser.isoparse(started_at).timestamp()
  40.  
  41. streamerId = data["event"]["broadcaster_user_id"]
  42.  
  43.  
  44. channel_id = int(db.reference(f"/streamers/{streamerId}/channel_id").get())
  45. guild_id = int(db.reference(f"/streamers/{streamerId}/guild_id").get())
  46.  
  47. a = await interactions.get(bot, interactions.Channel, object_id=1076730339327746108)
  48. await a.send("OKKKK")
  49.  
  50. async def main():
  51. twitch = await Twitch(CLIENT_ID, CLIENT_SECRET)
  52.  
  53. new_token, new_refresh_token = await refresh_access_token(OAUTH_REFRESH_TOKEN, CLIENT_ID, CLIENT_SECRET)
  54.  
  55. await twitch.set_user_authentication(new_token, [], new_refresh_token, validate=True)
  56.  
  57. event_sub = EventSub(EVENTSUB_URL, CLIENT_ID, 8080, twitch)
  58.  
  59. await event_sub.unsubscribe_all()
  60. event_sub.start()
  61.  
  62.  
  63. for streamer_id in db.reference("/streamers/").get():
  64. await event_sub.listen_stream_online(str(streamer_id), stream_online)
  65.  
  66.  
  67.  
  68. loop = asyncio.get_event_loop()
  69.  
  70. task1 = loop.create_task(main())
  71. task2 = loop.create_task(bot._ready())
  72.  
  73. gathered = asyncio.gather(task1, task2)
  74. loop.run_until_complete(gathered)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement