Code Monkey home page Code Monkey logo

scrybot's Introduction

ScryBot

A Discord Scryfall Bot. This bot supports two core functionalities:

  • Searching scryfall for any named cards when a message is detected with text surrounded by [[]]
  • Using a custom fine tuned gpt3.5 model to translate requests into scryfall api URLs

Installing and setting up the development environment

ScryBot uses poetry for dependency management and packaging

pip install poetry
poetry install
poetry run python -m scrybot

This requires a .env file with two environment variables

  • DISCORD_BOT_TOKEN: The secret key provided by discord for the bot this application runs under
  • OPENAI_API_KEY: The secret key for making calls to OPENAI

Fine tuning the API model with chatgpt

ChatGPT fine tuning data is located in data/search_training.csv. This file is a two-column csv file. The first column is an example user message passed into the discord bot. The second column is the url generated from the user request in the first column.

poetry run python tools/fine_tune_model.py

scrybot's People

Contributors

aweidner avatar

Watchers

 avatar

scrybot's Issues

Didn't get all cards from this text

Merieke Ri Berit, le petit moteur qui ne devrait pas

Chapitre un : la voie de l'eau
The more I write and read about Merieke the more I like the theory of all the interactions. Its a really good rules lesson and clearly powerful when built towards that goal, however in practice the gameplay is the still the same as pointed out in the reddit post comments. The author is so excited, but the reality of gameplay at the table is not. Its more interesting in the 99 because its a temporary, lower recurrence threat no different than anything else.
With theft commander alternatives like [[Olivia Voldaren]] or [[Marchesa, the Black Rose]] you have to work more and set up more for similar gains. Its more like [[Sen Triplets]] that is just mean for the sake of mean that warps the games around that player to the point of all or nothing remove them. It's like a different effect of archenemy as Voltron (aka Kathril) were a race or clock is clearly started because that's the commander. You have to remove that player 1st. However, Voltron doesn't prevent others from playing or building boards to challenge.
There are other spot removal commanders like [[Karlov of the Ghost Council]] and [[Zacama]] or board wipe commanders like [[Massacre Girl]] and [[Nevinyrral, Urborg Tyrant]]. There is even a counterspell commander called [[Ertai Resurrected]]. Merieke ends up in the pile of commanders that need to be removed on the spot/countered. If not, the game will drag for as we have seen 10+ turns until someone can answer it. It doesn't win quick enough through its own strategy because people will just stop playing creatures removing the fuel. So you end up either doing nothing or waiting for the Merieke deck to have a non-thematic combo to win. But instead of a combo deck that is normally racing the other players to the finish line with excitement at the table, its a battlecruiser crawl with no battlecruiser flash. Imagine [[Drannith Magistrate]] as a commander.

It missed dranith magistrate

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.