Update Invitarr.py
This commit is contained in:
29
Invitarr.py
29
Invitarr.py
@@ -7,8 +7,18 @@ from plexapi.myplex import MyPlexAccount
|
|||||||
from discord import Webhook, AsyncWebhookAdapter
|
from discord import Webhook, AsyncWebhookAdapter
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
account = MyPlexAccount('user', 'pass')
|
# settings
|
||||||
plex = account.resource('plex server name here').connect() # returns a PlexServer instance
|
PLEXUSER = ''
|
||||||
|
PLEXPASS = ''
|
||||||
|
PLEX_SERVER_NAME = ''
|
||||||
|
roleid = ''
|
||||||
|
Plex_LIBS = ["Movies","TV Shows"] #name of the libraries you want the user to have access to.
|
||||||
|
Webhookurl = '' # For logging the user repiles, create a webhook to the discord channel you want to log this in.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
account = MyPlexAccount(PLEXUSER, PLEXPASS)
|
||||||
|
plex = account.resource(PLEX_SERVER_NAME).connect() # returns a PlexServer instance
|
||||||
|
|
||||||
class MyClient(discord.Client):
|
class MyClient(discord.Client):
|
||||||
async def on_ready(self):
|
async def on_ready(self):
|
||||||
@@ -18,24 +28,23 @@ class MyClient(discord.Client):
|
|||||||
print('------')
|
print('------')
|
||||||
|
|
||||||
async def on_member_update(self, before, after):
|
async def on_member_update(self, before, after):
|
||||||
role1 = after.guild.get_role(roleid) #I had two roles... you are welcome to use just one or many...
|
role = after.guild.get_role(roleid)
|
||||||
role2 = after.guild.get_role(roleid)
|
if (role in after.roles and role not in before.roles):
|
||||||
if (role1 in after.roles and role1 not in before.roles) or (role2 in after.roles and role2 not in before.roles):
|
await after.send('Welcome To The Plex. Just reply with your email so we can add you to Plex!')
|
||||||
await after.send('Welcome To Sleepingpirates Plex Server. Just reply with your email so we can add you to Plex!')
|
|
||||||
await after.send('I will wait 10 minutes for your message, if you do not send it by then I will cancel the command.')
|
await after.send('I will wait 10 minutes for your message, if you do not send it by then I will cancel the command.')
|
||||||
def check(m):
|
def check(m):
|
||||||
return m.author == after and not m.guild
|
return m.author == after and not m.guild
|
||||||
try:
|
try:
|
||||||
email = await client.wait_for('message', timeout=600, check=check)
|
email = await client.wait_for('message', timeout=600, check=check)
|
||||||
except asyncio.TimeoutError:
|
except asyncio.TimeoutError:
|
||||||
await after.send('error... message pirate... so he can add you manually.')
|
await after.send('You fucked up... message ... so he can add you manually.')
|
||||||
else:
|
else:
|
||||||
await asyncio.sleep(5)
|
await asyncio.sleep(5)
|
||||||
await after.send('Got it we will be processing your email shortly')
|
await after.send('Got it we will be processing your email shortly')
|
||||||
print(email.content) #for logging...
|
print(email.content) #make it go to a log channel
|
||||||
plexname = str(email.content)
|
plexname = str(email.content)
|
||||||
try:
|
try:
|
||||||
plex.myPlexAccount().inviteFriend(user=plexname, server=plex, sections=["Movies","TV Shows","Movies - Trending","Anime"], allowSync=False, #your libs here
|
plex.myPlexAccount().inviteFriend(user=plexname, server=plex, sections=Plex_LIBS, allowSync=False, #your libs here
|
||||||
allowCameraUpload=False, allowChannels=False, filterMovies=None,
|
allowCameraUpload=False, allowChannels=False, filterMovies=None,
|
||||||
filterTelevision=None, filterMusic=None)
|
filterTelevision=None, filterMusic=None)
|
||||||
await asyncio.sleep(20)
|
await asyncio.sleep(20)
|
||||||
@@ -45,7 +54,7 @@ class MyClient(discord.Client):
|
|||||||
else:
|
else:
|
||||||
await after.send('You have Been Added To Plex!')
|
await after.send('You have Been Added To Plex!')
|
||||||
async with aiohttp.ClientSession() as session:
|
async with aiohttp.ClientSession() as session:
|
||||||
webhook = Webhook.from_url('webhook url here', adapter=AsyncWebhookAdapter(session)) #webhook to a discord channel to log emails
|
webhook = Webhook.from_url('Webhookurl', adapter=AsyncWebhookAdapter(session)) #webhook to a discord channel to log emails
|
||||||
await webhook.send(plexname + ' was added to plex', username='Logger')
|
await webhook.send(plexname + ' was added to plex', username='Logger')
|
||||||
|
|
||||||
client = MyClient()
|
client = MyClient()
|
||||||
|
|||||||
Reference in New Issue
Block a user