import discord, wikipedia from discord import Option #from private.config import token #import os #os.chdir("/opt/disbot") bot = discord.Bot() g_ids = [1261698917163077632] @bot.event async def on_ready(): print(f"We've logged in as {bot.user}.") @bot.slash_command(guild_ids=g_ids, name = "summary", description="Returns a Wikipedia summary") async def summary(ctx, search: Option(str, description="What do you want to get summary for?", required = True), lang: Option(str, description="Language of wiki", required = False) = "en"): await ctx.channel.trigger_typing() # that bot is typing try: wikipedia.set_lang(lang) except: await ctx.author.send("Your chosen language doesnt have dedicated wiki") try: # sezene sumar a odesle thesummary = wikipedia.summary(search, chars = 1950) try: await ctx.respond(thesummary) # Respons je limitovano 3 vterinami, lepsi ale obcas nestihne except: await ctx.send(thesummary) # Send horsi, pouzije pokud nestihne response except: # pokud nesezena musi vyhledavat searchsummary = str(wikipedia.search(search, suggestion = True)).replace('(', '').replace(")", "").replace("'", "").replace('[', '').replace(']', '') await ctx.author.send(f"I can't seem to find a summary for that.. Did you mean: {searchsummary}") @bot.slash_command(guild_ids=g_ids, name = "search", description="Search Wikipedia") async def search(ctx, search: Option(str, description = "What do you want to search for?", required = True), lang: Option(str, description="Language of wiki", required = False) = "en"): await ctx.channel.trigger_typing() # shows that bot is typing try: wikipedia.set_lang(lang) except: await ctx.author.send("Your chosen language doesnt have dedicated wiki") searchsearch = str(wikipedia.search(search, suggestion = True)).replace('(', '').replace(")", "").replace("'", "").replace('[', '').replace(']', '') try: await ctx.respond(searchsearch) except: await ctx.send(searchsearch) @bot.slash_command(guild_ids=g_ids, name = "url", description="Get a URL to a page on Wikipedia") async def url(ctx, search: Option(str, description = "What do you want to get URL for?", required = True), lang: Option(str, description="Language of wiki", required = False) = "en"): await ctx.channel.trigger_typing() # shows that bot is typing try: wikipedia.set_lang(lang) except: await ctx.author.send("Your chosen language doesnt have dedicated wiki") try: # pokud sezenu sumary tak sezenu link urlsummary = wikipedia.summary(search, auto_suggest = False) search = search.lower().replace(" ","_").replace(" ","_") try: await ctx.respond(f"https://{lang}.wikipedia.org/wiki/{search}") except: await ctx.send(f"https://{lang}.wikipedia.org/wiki/{search}") except: urlsearch = str(wikipedia.search(search, suggestion = True)).replace('(', '').replace(")", "").replace("'", "").replace('[', '').replace(']', '') try: await ctx.respond(f"https://{lang}.wikipedia.org/wiki/{urlsearch}") except: await ctx.send(f"https://{lang}.wikipedia.org/wiki/{urlsearch}") @bot.slash_command(guild_ids=g_ids, name = "random", description="Returns a random Wikipedia article") async def random(ctx, lang: Option(str, description = "Language of wiki", required = False) = "en"): await ctx.channel.trigger_typing() # shows that bot is typing try: wikipedia.set_lang(lang) except: await ctx.author.send("Your chosen language doesnt have dedicated wiki") ran_article = wikipedia.random().replace(" ", "_").replace(" ", "_") try: await ctx.respond(f"https://{lang}.wikipedia.org/wiki/{ran_article}") except: await ctx.send(f"https://{lang}.wikipedia.org/wiki/{ran_article}") bot.run("MTMyNTk1Mzg4OTcyNzQxNDM0Mw.G2Tgo0.2OhbgaVYhys0BhxJMVgGDnG0W5qvxH-soJML3M")