theneosloth / bolas Goto Github PK
View Code? Open in Web Editor NEWAn extensible Magic the Gathering card fetcher bot for discord
Home Page: https://theneosloth.github.io/Bolas/
License: MIT License
An extensible Magic the Gathering card fetcher bot for discord
Home Page: https://theneosloth.github.io/Bolas/
License: MIT License
How to replicate:
!diff
Diff too long
Here's a suggested improvement. Instead of Diff too long
have this output in an embed.
url 1 title url 2 title
29 Creatures 30 Creatures
31 Lands 30 Lands
18 Sorceries 20 Sorceries
22 Instants 20 Instants
Which would you like to see?
!diff creature
<list the creature differences>
I'm trying to pull the art of some online only promos, such as this one
I've tried artist tag, promo tag, and is:promo such as
!art [[stasis a:seb]]
which pulls a very different art.
If any one card fails to be found, no card results are returned, as opposed to info for found cards and an error for an unfound card (preferably with the card name).
The code is extremely inefficient right now. For example: in order to keep the track of the last card found the bot currently stores a full card object for every server it's connected to instead of just saving the name of the last card used.
This command fails
!diff https://tappedout.net/mtg-decks/rad-farm/ https://tappedout.net/mtg-decks/razaketh-adnaus-scepter\
My guess is a split card somewhere?
If my card search results are as follows
Card 1 {1}
Card 2 {1}
Card 3 {1}
Card 4 {1}
Card 5 {1}
When the !price command is executed only the following is displayed:
9.99 -- Card 1
It would be nice if it displayed all the card prices. Maybe like so:
9.99 -- Card 1
29.07 -- Card 2
5.99 -- Card 3
0.50 -- Card 4
0.99 -- Card 5
Hi again theneosloth
I hope you're doing well. We in the EDH discord still love your bot with all its great functionalities haha. :)
There seems to be an issue with the price functionality when it comes to MDFC cards (or probably multi faced cards in general). When searching for a MDFC card like "Needleverge Pathway" it returns "Price not found.". The same is true when searching for "Needleverge Pathway // Pillarverge Pathway", the way the API treats the name of double faced cards.
When looking through the code, I think this issue stems from two parts. Both in the "search_card" function that is called by the price function.
My proposal would be to find a way to return a card in the first way of searching for the DFC, and for the second situation (especially if the first can't be solved), the quote function has a second variable where you define the safe character, which you could set to something not used in the API.
Kind regards
LordBunilla
How to reproduce:
!art [[aven mindcensor e:mp2]]
should pull the art from the invocation, it instead shows the newest art (amonkhet) and shows the mp2 card as the card embed
Hi theneosloth
I really appreciate your work with the Bolas bot, as it works really well with queries, and allows fast searches for the cards related to terms, especially for commander brewers like me. We're using it on the r/EDH discord, and there I've noticed two things, specifically regarding the !price command:
The !price command doesn't function well for two types of cards:
For the first one, it would probably just be a matter of also displaying the "usd_foil" price. (And while we're at it, you might as well also show the "eur" price.)
For the second one, this likely needs some rework of the price functionality, but you already used similar methods for the !art command:
What happens here is the following in the possible scenarios:
Kind regards
LordBunilla
The current implementation of the card search is not asynchronous, which I suspect is causing some bottlenecks. Instead of re-implementing the api wrapper it might be better to use the scrython library
Right now bolas contains a large number of hard coded server and user specific values that cannot be changed without updating the code. It would be better to store these values in a separate database.
Currently all the commands are located within a single file. This was working well for when there were only a few of them but as more and more of them get added managing the file gets a little bit unwieldy.
Because all the files inherited from the CommandPlugin class are imported automatically this should be trivial to do and it would improve the readability of the code immensely.
Trying to look up art (again) and it's pulling thew wrong one. Try [[dark ritual a:guay]], it pulls the wrong art
Searching for [[gix]] only brings up the card called Gix, rather than all cards with gix in the title, of which there are 4 as seen here. https://scryfall.com/search?q=gix
Since https://archidekt.com/ is becoming very popular with the EDH crowd, would be nice to have !diff accept lists from there as well
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.