Git Product home page Git Product logo

zana's Introduction

zana

A discord bot based on PoE.py - http://github.com/xKynn/PoE.py
You can invite my hosted version from here You can join the zana support-ish server here

Shameless Donation Link Plug

As a college student i can only work on these fun projects in my free time, i would love if you can help me out! Buy Me a Coffee at ko-fi.com

Things it can do

  1. Link items in chat, syntax is similar to the reddit bot, i.e enclose item name inside [[]]
  • It can link anything poe related that is an ingame "Item", this means, hideout doodads, prophecies, gems, items, currency
    • This is a feature of the PoE.py lib which if you are working with python you can utilise as well
  1. Post detailed previews of path of building pastebin links and retreive detailed charcter info of any public character profile.
  • PoB is as always a bit more detailed than character profile
  • It fetches all worn gear, jewels and gem links/groups
    • Todo: Flasks

zana's People

Contributors

raylu avatar shifty6 avatar xkynn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

zana's Issues

Zana not linking div cards/prophecies

So, I invited your bot to my testing server (an insanely cool concept I was really interested in messing around with). Unfortunately, it appears Zana is unable to link prophecies or divination cards. Trying to link [[The Doctor]] [[Fated Connections]] or [[The Plaguemaw II]] all end up with zana typing for 5 seconds, then not sending any message (Not even the "Item not found message" which works on other items.)

Zana doesn't display Abyss Jewels copied from PoE

Rarity: Rare
Ancient Gaze
Hypnotic Eye Jewel
--------
Abyss
--------
Requirements:
Level: 41
--------
Item Level: 83
--------
Adds 12 to 19 Cold Damage to Spells
+9% to Global Critical Strike Multiplier
+23 to maximum Life
Adds 12 to 15 Cold Damage to Spells while Dual Wielding
--------
Place into an Abyssal Socket on an Item or into an allocated Jewel Socket on the Passive Skill Tree. Right click to remove from the Socket.

Given the above input from PoE, Zana displays this:

image

Divination cards fail to embed after around 20 locations

After somewhere around 20-25 locations (possibly due to the discord embed field limit) the cards fail to embed, giving a generic error about the attach files permission, even though other cards can embed fine:

Perhaps after around 5-10 locations it should be truncated as it starts to fill out the screen quite a bit anyway

Feature request: Open online

I don't actually host/use this bot directly myself, i just make use of it so i don't know if this is a redundant question. I'm still going to submit this, because it could add a LOT of QoL to what this bot already provides.

Could you please add a generated link to pob.party inside the Zana response (when it responds to a pastebin)?

I'm thinking of a similiar output as this. Here is how POBPreviewBot creates urls like this, as far as i can see. Here is an example post by POBPreviewBot.

POE 3.14 Item Updates

Ultimatum League introduced updates to the copy code / item code, so that it is not parsed correctly by the bot.

From patch notes

  • Copying an item's description with Ctrl + C now also copies the Item Class.
  • Pressing Ctrl + Alt + C now copies the Advanced Modifier Descriptions on an item.

issue while copy item

League: Expedition 3.15
Version: 3.15.3b

while trying to copy this item:

Item Class: Shields
Rarity: Rare
Gloom Refuge
Colossal Tower Shield
--------
Quality: +47% (augmented)
Chance to Block: 23%
Armour: 2590 (augmented)
--------
Requirements:
Level: 72
Str: 159
--------
Sockets: R-W-R 
--------
Item Level: 86
--------
+20 to maximum Life (implicit)
--------
+425 to Armour
98% increased Armour
+89 to maximum Life
21% chance to Avoid being Stunned
Recover 5% of Life when you Block
+23 to Intelligence (crafted)
+18% to Quality (crafted)
--------
Shaper Item

I got this error:

it  +425 to Armour
['+425 to Armour', '98% increased Armour', '+89 to maximum Life', '21% chance to Avoid being Stunned', 'Recover 5% of Life when you Block', '+23 to Intelligence (crafted)', '+18% to Quality (crafted)', '--------', 'Shaper Item']
['+425 to Armour', '98% increased Armour', '+89 to maximum Life', '21% chance to Avoid being Stunned', 'Recover 5% of Life when you Block', '+23 to Intelligence (crafted)', '+18% to Quality (crafted)']
File:Colossal Tower Shield inventory icon.png
+(10-20) to maximum [[Life]] +425 to Armour<br>98% increased Armour<br>+89 to maximum Life<br>21% chance to Avoid being Stunned<br>Recover 5% of Life when you Block<br>+23 to Intelligence (crafted)<br>+18% to Quality (crafted)
Task exception was never retrieved
future: <Task finished name='Task-15' coro=<Command.invoke() done, defined at /home/discord/bot/zana/lib/python3.9/site-packages/discord/ext/commands/core.py:854> exception=CommandInvokeError("Command raised an exception: ValueError: invalid literal for int() with base 10: 'lt;em class=&quot;tc '")>
Traceback (most recent call last):
  File "/home/discord/bot/zana/lib/python3.9/site-packages/discord/ext/commands/core.py", line 85, in wrapped
    ret = await coro(*args, **kwargs)
  File "/home/discord/bot/zana/cogs/poe.py", line 623, in convert
    await self.bot.loop.run_in_executor(None, utils._get_wiki_base, pob_item, d, self.client, "Chat Item")
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/discord/bot/zana/lib/python3.9/site-packages/poe/utils.py", line 1225, in _get_wiki_base
    modify_base_stats(wiki_base)
  File "/home/discord/bot/zana/lib/python3.9/site-packages/poe/utils.py", line 1070, in modify_base_stats
    arm = int(ensure_rangeless(item.armour))
ValueError: invalid literal for int() with base 10: 'lt;em class=&quot;tc '
 
The above exception was the direct cause of the following exception:
 
Traceback (most recent call last):
  File "/home/discord/bot/zana/lib/python3.9/site-packages/discord/ext/commands/core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/home/discord/bot/zana/lib/python3.9/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ValueError: invalid literal for int() with base 10: 'lt;em class=&quot;tc '

Documentation and charinfo issues

This is mostly about @Zana help:

roll - Roll any Unique item and test your luck!

This sounds like it should roll a random unique and not roll stats of a specific unique.

@Zana help charinfo:

charinfo Fetch character info for provided account and character

Actually doesn't require account and has something called "garb"


Error messages like these are missing a command:

The command only needs your character name in the format
@Zana <charname> - continuing regardless

The correct format to use roll is
@Zana <itemname>

Should be @Zana charinfo <charname> (garb?!), @Zana roll <itemname>


Also for some reason this fails without any message: @Zana charinfo KriXPelloR
Profile: https://www.pathofexile.com/account/view-profile/KriXPello/characters

Zana Unable to Parse Some Uniques

I've found that Zana struggles to parse certain (but not all) uniques.

Currently I've only been able to confirm Cold Iron Point. Trying to use [[Cold Iron Point]] or a pastebin where a build has this item equipped will result in parse failure.

The below is a build export where the only change has been to equip a CIP: https://pastebin.com/2YCdhTsr

Zana doesn't completely parse talismans copied from PoE

I'm guessing this probably is due to the addition of annointments to the talismans:

Rarity: Rare
Ghoul Gorget
Hexclaw Talisman
--------
Requirements:
Level: 59
--------
Item Level: 81
--------
Talisman Tier: 2
--------
Allocates Forceful Skewering (enchant)
--------
50% increased Global Critical Strike Chance (implicit)
--------
+48 to Intelligence
Adds 6 to 10 Physical Damage to Attacks
16% increased Armour
+76 to maximum Life
+15% to all Elemental Resistances
+35% to Fire Resistance
--------
The Hunter faced the First One
and notched his final arrow.
The First One bared its fangs
and savoured its final breath.
- The Wolven King
--------
Corrupted

image

[Feature Request] Flavour text wrapping

Flavour text on linked unique items currently renders on a single line. This results in reduced readability when viewed in Discord.

Example here; this was captured on a 1080p screen. Compare that to the original image served by the bot, and the difference is night and day.

Even when viewed zoomed in, it is less readable than it could be. If the rendered image was less wide, Discord would allow for a larger zoom that would result in the text being bigger on screen.

Wrapping the flavour text such that it is no wider than the widest mod on the item would fix this.

The fandom wiki is outdated, change to poewiki?

Basically what the title states. The fandom wiki is now two leagues behind, while poewiki is up to date. Is there a possibility that the bot will be adjusted and starts linking to poewiki?

AttributeError: 'NoneType' object has no attribute 'invoke'

Seems like the link command is throwing an error on this:

self.bot.loop.create_task(self.link.invoke(ctx)) (line 129)

Ignoring exception in on_message
Traceback (most recent call last):
  File "C:\Users\tkkt3\AppData\Local\Programs\Python\Python38\lib\site-packages\discord\client.py", line 270, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\tkkt3\Desktop\Active Bots\zana-master\bot.py", line 58, in on_message
    await self.find_command.invoke(ctx)
AttributeError: 'NoneType' object has no attribute 'invoke'

HTML leaking into Esh's Mirror flavor text

I've notice that when you link the [[Esh's Mirror]] item, there is some HTML text that shows up in the flavor text. Here's how it looks:

zana bot esh's mirror image

I might have some free time in a few weeks and I can try to fix this myself, in case you don't have the chance until then.
Thanks a lot for your work with this extension, it is pretty cool : )

Feature Request: MTX watchlist.

It would be amazing to set up a watchlist for MTX sales. Would love if Zana could remind when character slots were on sale, or when stash tabs were etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.