Advertisement
Guest User

source für senox

a guest
Jan 15th, 2022
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.10 KB | None | 0 0
  1. #Module
  2. import discord
  3. from discord.ext import commands
  4. import os
  5. from discord.utils import sane_wait_for
  6. from discord_slash import SlashCommand, SlashContext
  7. from discord_components import Button, ButtonStyle, InteractionEventType, DiscordComponents
  8. import pytz
  9. import praw
  10. import prawcore
  11. import os
  12. import cogs.infoslists.botinfos
  13. import random
  14. import sqlite3
  15. from discord_slash.context import MenuContext
  16. from discord_slash.model import ContextMenuType
  17. from discord.utils import get
  18.  
  19.  
  20.  
  21.  
  22.  
  23. def createprintodb(ctx, prefix):
  24.     db =sqlite3.connect("main.db")
  25.     cursor = db.cursor()
  26.     cursor.execute(f"INSERT INTO prefixdb VALUES (' {ctx.guild.id} ', '{prefix}')")
  27.     db.commit
  28.     cursor.close()
  29.     db.close()
  30.    
  31. def getprefix(ctx):
  32.     try:
  33.         db =sqlite3.connect("main.db")
  34.         cursor = db.cursor()
  35.         cursor.execute(f"SELECT prefix FROM prefixdb WHERE guild_id = '{ ctx.guild.id }'")
  36.         b = cursor.fetchone()
  37.         db.commit
  38.         cursor.close()
  39.         db.close()
  40.         with open("t.py", "w") as f:
  41.             f.write(f"{b}")
  42.     except:
  43.         with open("t.py", "w") as f:
  44.             f.write("e:")
  45.  
  46. def bbpr():
  47.     with open("t.py", "r") as f:
  48.         c = f.readline(6)
  49.         return str(c)
  50.  
  51. token = cogs.infoslists.botinfos.TOKEN
  52.  
  53. #Variablen
  54. client = commands.Bot(command_prefix="e:"
  55.                       )
  56. ddb = DiscordComponents(client)
  57. slash = SlashCommand(client, sync_commands=True)
  58. lists = cogs.infoslists.botinfos
  59.  
  60.  
  61.  
  62. #Events
  63. @client.event
  64. async def on_ready():
  65.     print("Bot ist fertig")
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73. #Commmands
  74. @client.command()
  75. async def setprefix(ctx, prefixb):
  76.     createprintodb(ctx=ctx ,prefix=prefixb)
  77.     em = discord.Embed(title=f"Prefix wurde geändert!", description=f"Prefix ist im Moment {prefixb}")
  78.     await ctx.send(embed=em)
  79.  
  80. @client.command()
  81. async def cprefix(ctx):
  82.     getprefix(ctx=ctx)
  83.     e =bbpr
  84.     await ctx.send(f"Meine Prefix ist im Moment {e}")
  85.  
  86.  
  87.  
  88.  
  89. @client.command(name="punch")
  90. async def punch(ctx, user: discord.Member = None):
  91.     if user is None:
  92.         p = discord.Embed(title=f"{ ctx.author.mention } schlägt { user }")
  93.     else:
  94.         p = discord.Embed(title=f"{ ctx.author.mention } schlägt jemanden!")
  95.     p.set_image(url=random.choice(lists.schläge))
  96.     await ctx.send(embed=p)
  97.            
  98.      
  99.      
  100. @slash.slash(name="punch")
  101. async def punch(ctx: SlashContext, user: discord.Member = None):
  102.     if user == None:
  103.         p = discord.Embed(title=f"{ ctx.author } schlägt jemanden!")
  104.     else:
  105.         p = discord.Embed(title=f"{ ctx.author } schlägt { user }")
  106.     p.set_image(url=random.choice(lists.schläge))
  107.     await ctx.send(embeds=[p])
  108.  
  109. @slash.slash(name="userinfo", description="Shows Infos about a User")
  110. async def userinfo(ctx: SlashContext, member: discord.Member):
  111.     de = pytz.timezone('Europe/Berlin')
  112.     embed = discord.Embed(title=f'> Userinfo für {member.display_name}',
  113.                           description='', color=0x4cd137)
  114.  
  115.     embed.add_field(name='Name', value=f'```{member.name}#{member.discriminator}```', inline=True)
  116.     embed.add_field(name='Bot', value=f'```{("Ja" if member.bot else "Nein")}```', inline=True)
  117.     embed.add_field(name='Nickname', value=f'```{(member.nick if member.nick else "Nicht gesetzt")}```', inline=True)
  118.     embed.add_field(name='Server beigetreten', value=f'```{member.joined_at}```', inline=True)
  119.     embed.add_field(name='Discord beigetreten', value=f'```{member.created_at}```', inline=True)
  120.     embed.add_field(name='Rollen', value=f'```{len(member.roles)}```', inline=True)
  121.     embed.add_field(name='Höchste Rolle', value=f'```{member.top_role.name}```', inline=True)
  122.     embed.add_field(name='Farbe', value=f'```{member.color}```', inline=True)
  123.     embed.add_field(name='Booster', value=f'```{("Ja" if member.premium_since else "Nein")}```', inline=True)
  124.     await ctx.send(content=None, embeds=[embed])
  125.  
  126. @client.command(name='userinfo')
  127. async def userinfo(ctx, member: discord.Member):
  128.     if member is None:
  129.         member = ctx.author
  130.     de = pytz.timezone('Europe/Berlin')
  131.     embed = discord.Embed(title=f'> Userinfo für {member.display_name}',
  132.                           description='', color=0x4cd137)
  133.  
  134.     embed.add_field(name='Name', value=f'```{member.name}#{member.discriminator}```', inline=True)
  135.     embed.add_field(name='Bot', value=f'```{("Ja" if member.bot else "Nein")}```', inline=True)
  136.     embed.add_field(name='Nickname', value=f'```{(member.nick if member.nick else "Nicht gesetzt")}```', inline=True)
  137.     embed.add_field(name='Server beigetreten', value=f'```{member.joined_at}```', inline=True)
  138.     embed.add_field(name='Discord beigetreten', value=f'```{member.created_at}```', inline=True)
  139.     embed.add_field(name='Rollen', value=f'```{len(member.roles)}```', inline=True)
  140.     embed.add_field(name='Höchste Rolle', value=f'```{member.top_role.name}```', inline=True)
  141.     embed.add_field(name='Farbe', value=f'```{member.color}```', inline=True)
  142.     embed.add_field(name='Booster', value=f'```{("Ja" if member.premium_since else "Nein")}```', inline=True)
  143.     await ctx.send(embed=embed)
  144.  
  145. @client.command()
  146. @commands.has_permissions(ban_members=True)
  147. async def ban(self, ctx, user: discord.Member, *, reason):
  148.     await ctx.guild.ban(user, reason=reason)
  149.     await user.send(f"You have been banned in {ctx.guild} for {reason}")
  150.     await ctx.send(f"{user} has been successfully banned.")
  151.  
  152.  
  153. @client.command()
  154. @commands.has_permissions(manage_roles=True)
  155. async def rr(ctx, channel: discord.TextChannel, *role: discord.Role):
  156.     em = discord.Embed(title=f"Self Roles!")
  157.     rolen = role
  158.     rollname = role.name
  159.     channel = discord.utils.get(ctx.guild.channels, name=f"{channel}")
  160.     for i in role:
  161.         em.add_field(name =f"{rollname} -> Klicke auf den entsprechenden Button", value="_ _", inline=False)
  162.     await channel.send(embed=em,
  163.                    components= [
  164.                         Button(style=ButtonStyle.green, label=f"{rollname}")
  165.                    ])
  166.     while True:
  167.         res = await client.wait_for("button_click")
  168.         for i in role:
  169.             if res.component.label == f"{role}":
  170.                 await res.respond(type=6)
  171.                 member = ctx.author
  172.                 if role in member.roles: #checks all roles the member has
  173.                     await member.remove_roles(role, reason=None, atomic=True) #removes the role
  174.                 else:
  175.                     await member.add_roles(role, reason=None, atomic=True)
  176.            
  177.    
  178. from discord_slash.utils.manage_components import create_select, create_select_option, create_actionrow
  179. @slash.slash()
  180. async def pl(ctx: SlashContext):
  181.     select = create_select(
  182.         options=[
  183.             create_select_option("Lab Coat", value="coat", emoji="🥼"),
  184.             create_select_option("Test Tube", value="tube", emoji="🧪"),
  185.             create_select_option("Petri Dish", value="dish", emoji="🧫")
  186.         ],
  187.         placeholder="Choose your option",
  188.         min_values=1, # the minimum number of options a user must select
  189.         max_values=2 # the maximum number of options a user can select
  190.     )
  191.     action_row = create_actionrow(select)
  192.     em = discord.Embed(title=f"Ton Visage")
  193.  
  194.     await ctx.send(embed=em, components=[action_row])
  195.  
  196.  
  197. @slash.slash()
  198. @commands.has_permissions(ban_members=True)
  199. async def ban(self, ctx: SlashContext, user: discord.Member, *, reason):
  200.     await ctx.guild.ban(user, reason=reason)
  201.     await user.send(content=f"You have been banned in {ctx.guild} for {reason}")
  202.     await ctx.send(content=f"{user} has been successfully banned.")
  203.  
  204.  
  205.  
  206.  
  207. @client.command()
  208. async def avatar(ctx, *,member: discord.Member=None):
  209.     if member == None:
  210.         member = ctx.author
  211.    
  212.     icon_url = member.avatar_url
  213.  
  214.     avatarEmbed = discord.Embed(title = f"{member.name}\'s Avatar", description=None, color = 0xFFA500)
  215.     avatarEmbed.set_image(url = f"{icon_url}")
  216.     avatarEmbed.set_footer(text=cogs.infoslists.botinfos.FOOTER)
  217.     avatarEmbed.timestamp = ctx.message.created_at
  218.  
  219.     await ctx.send(embed = avatarEmbed)
  220. #Anmelden
  221.  
  222.  
  223.  
  224.  
  225. client.run(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement