I try to make the Discord bot with little success, at the moment I focus on something else
This commit is contained in:
parent
177374a894
commit
c6b54bda37
|
@ -0,0 +1,14 @@
|
|||
from discord import Option
|
||||
import discord
|
||||
|
||||
bot = discord.Bot()
|
||||
|
||||
|
||||
@bot.slash_command()
|
||||
@discord.default_permissions(ban_members = True, administrator = True)
|
||||
async def ban_user(bot, ctx, member: Option(discord.Member, description="Select a member", required=True), reason: Option(str, description="Reason", required=True)):
|
||||
try:
|
||||
await member.ban(reason=reason)
|
||||
await ctx.respond(f'{member.mention} has been banned!')
|
||||
except:
|
||||
await ctx.respond(f'{member.mention} has not been banned!')
|
|
@ -0,0 +1,11 @@
|
|||
import discord
|
||||
from discord.ext import commands
|
||||
|
||||
bot = discord.Bot()
|
||||
|
||||
@bot.slash_command()
|
||||
@commands.has_permissions(manage_messages=True)
|
||||
@commands.cooldown(1, 5, commands.BucketType.user)
|
||||
async def clear_messages(ctx, amount : int):
|
||||
await ctx.channel.purge(limit=amount+1)
|
||||
await ctx.respond('Messages have been cleared!')
|
|
@ -0,0 +1,11 @@
|
|||
import discord
|
||||
bot = discord.Bot()
|
||||
|
||||
@bot.slash_command()
|
||||
@discord.default_permissions(kick_members = True, administrator = True)
|
||||
async def kick_user(bot, ctx, member : discord.Member, *, reason=None):
|
||||
try:
|
||||
await member.kick(reason=reason)
|
||||
await ctx.respond(f'{member.mention} has been kicked!')
|
||||
except:
|
||||
await ctx.respond(f'{member.mention} has not been kicked!')
|
|
@ -1,54 +1,56 @@
|
|||
from commands.moderation import ban, kick, clear_msg
|
||||
from discord.commands.context import ApplicationContext # Discord
|
||||
from selenium.webdriver.firefox.options import Options # Selenium
|
||||
from discord.commands import Option # Discord
|
||||
from discord.ext import commands
|
||||
from bson.objectid import ObjectId # MongoDB
|
||||
from selenium import webdriver # Selenium
|
||||
from dotenv import load_dotenv
|
||||
from bson.objectid import ObjectId
|
||||
|
||||
from selenium.webdriver.firefox.options import Options
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium import webdriver
|
||||
|
||||
from discord.ext import tasks, commands
|
||||
from discord.commands.context import ApplicationContext
|
||||
from discord.commands import Option
|
||||
import discord
|
||||
import pymongo
|
||||
import urllib.parse
|
||||
from selenium import webdriver
|
||||
import datetime
|
||||
import os
|
||||
import time
|
||||
from selenium import webdriver # Selenium
|
||||
from discord.ext import tasks # Discord
|
||||
import urllib.parse # MongoDB
|
||||
import datetime # Date
|
||||
import discord # Discord
|
||||
import pymongo # MongoDB
|
||||
import time # Time
|
||||
import os # OS
|
||||
|
||||
# .env
|
||||
load_dotenv() # Load .env file
|
||||
DISCORD_TOKEN = os.getenv('DISCORD_TOKEN') # Discord token
|
||||
GENERAL_ID = os.getenv('GENERAL_ID') # Channel ID
|
||||
PASSWORD_MONGODB = os.getenv('PASSWORD_MONGODB') # Password for MongoDB
|
||||
URL_MONGODB = os.getenv('URL_MONGODB') # URL for MongoDB
|
||||
|
||||
# MongoDB
|
||||
mongo_url = "mongodb+srv://elci:" + urllib.parse.quote_plus(PASSWORD_MONGODB) + URL_MONGODB # URL for MongoDB (with password)
|
||||
client = pymongo.MongoClient(mongo_url) # Connect to MongoDB
|
||||
database = client["website-class"] # Database name
|
||||
# Collection school time table current
|
||||
collection = database["school-time-table"]
|
||||
collection = database["school-time-table"] # Collection school time table current
|
||||
|
||||
#Date
|
||||
current_time = datetime.datetime.now()
|
||||
day = str(current_time.day)
|
||||
month = str(current_time.month)
|
||||
year = str(current_time.year)
|
||||
hour = str(current_time.hour)
|
||||
minute = str(current_time.minute)
|
||||
long_date = day + "-" + month + "-" + year + " " + hour + ":" + minute
|
||||
current_time = datetime.datetime.now() # Current time
|
||||
day = str(current_time.day) # Day
|
||||
month = str(current_time.month) # Month
|
||||
year = str(current_time.year) # Year
|
||||
hour = str(current_time.hour) # Hour
|
||||
minute = str(current_time.minute) # Minute
|
||||
long_date = day + "-" + month + "-" + year + " " + hour + ":" + minute # Long date with day, month, year, hour and minute
|
||||
|
||||
bot = discord.Bot()
|
||||
|
||||
@bot.event
|
||||
async def on_ready():
|
||||
print('We have logged in as {0.user}'.format(bot))
|
||||
bot.loop.create_task(orario())
|
||||
#bot.loop.create_task(orario())
|
||||
|
||||
# Search on MongoDB the subject and send a message on Discord if the subject is found
|
||||
@tasks.loop(seconds=1)
|
||||
async def orario():
|
||||
documents = collection.find()
|
||||
send_screenshot = 0
|
||||
# Iterate through the documents
|
||||
|
||||
# Iterate through the documents
|
||||
for document in documents:
|
||||
for day in document['School Subject']:
|
||||
for i, subject in enumerate(document['School Subject'][day]):
|
||||
|
@ -117,4 +119,20 @@ async def change_school_time(
|
|||
{"$set": {f"School Subject.{day}.{int(hour_school)}.Subject": text}}
|
||||
)
|
||||
|
||||
@bot.slash_command()
|
||||
@discord.default_permissions(ban_members = True, administrator = True)
|
||||
async def ban(ctx, member: Option(discord.Member, description="Select a member", required=True), reason: Option(str, description="Reason", required=True)):
|
||||
ban.ban_user(bot, ctx, member, reason)
|
||||
|
||||
@bot.slash_command()
|
||||
@discord.default_permissions(kick_members = True, administrator = True)
|
||||
async def kick(ctx, member: Option(discord.Member, description="Select a member", required=True), reason: Option(str, description="Reason", required=True)):
|
||||
kick.kick_user(bot, ctx, member, reason)
|
||||
|
||||
@bot.slash_command(name= 'clear', description= 'Clears messages from a channel')
|
||||
@commands.has_permissions(manage_messages=True, administrator=True)
|
||||
@commands.cooldown(1, 5, commands.BucketType.user)
|
||||
async def clear(ctx, messages: Option(int, description="Amount of messages to delete", required=True)):
|
||||
clear_msg.clear_messages(ctx, amount = messages)
|
||||
|
||||
bot.run(DISCORD_TOKEN)
|
|
@ -1,6 +1,8 @@
|
|||
from dotenv import load_dotenv
|
||||
from twilio.rest import Client
|
||||
import os
|
||||
|
||||
load_dotenv()
|
||||
SID = os.getenv('SID')
|
||||
AUTH_TOKEN = os.getenv('AUTHTOKEN')
|
||||
PHONE_NUMBER_BOT = os.getenv('PHONE_NUMBER_BOT')
|
||||
|
|
Loading…
Reference in New Issue