@@ -0,0 +1,1793 @@
+import aiohttp%0Afrom bs4 import BeautifulSoup%0A%0Afrom plumeria import config%0Afrom plumeria.command import commands, CommandError%0Afrom plumeria.util import http%0Afrom plumeria.util.message import strip_html%0Afrom plumeria.util.ratelimit import rate_limit%0A%0Ausername = config.create(%22myanimelist%22, %22username%22, fallback=%22%22,%0A                         comment=%22Account username for API requests on myanimelist.net%22)%0A%0Apassword = config.create(%22myanimelist%22, %22password%22, fallback=%22%22,%0A                         comment=%22Account password for API requests on myanimelist.net%22)%0A%0A%0A@commands.register(%22anime%22, category=%22Search%22)%0A@rate_limit()%0Aasync def random_user(message):%0A    %22%22%22%0A    Gets information about an anime using myanimelist.net.%0A%0A    Example::%0A%0A        /anime code geass%0A%0A    %22%22%22%0A    query = message.content.strip()%0A    if not len(query):%0A        raise CommandError(%22Supply the name of an anime to search.%22)%0A    auth = aiohttp.BasicAuth(username(), password())%0A    r = await http.get(%22https://myanimelist.net/api/anime/search.xml%22, params=%5B%0A        ('q', query)%0A    %5D, auth=auth)%0A    doc = BeautifulSoup(r.text(), features=%22lxml%22)%0A    entries = doc.anime.find_all(%22entry%22, recursive=False)%0A    if not len(entries):%0A        raise CommandError(%22No results found.%22)%0A    entry = entries%5B0%5D%0A    return %22%7Bimage%7D%5Cn%5Cn%22 %5C%0A           %22**%7Bname%7D** (%7Btype%7D)%5Cn%5Cn%22 %5C%0A           %22**Score:** %7Bscore%7D%5Cn%22 %5C%0A           %22**Episodes:** %7Bep_count%7D%5Cn%22 %5C%0A           %22**Air Dates:** %7Bstart%7D-%7Bend%7D%5Cn%5Cn%22 %5C%0A           %22%7Bsynopsis%7D%5Cn%22.format(%0A        image=entry.image.text,%0A        type=entry.type.text,%0A        name=entry.title.text,%0A        score=entry.score.text,%0A        ep_count=entry.episodes.text,%0A        start=entry.start_date.text,%0A        end=entry.end_date.text,%0A        synopsis=strip_html(entry.synopsis.text),%0A    )%0A

Add MyAnimeList plugin for searching animes.