Para solucionar problemas y recibir notificaciones, ¡únete a Discord!
PayPal:
BTC: bc1q3wxm269mdmwdqjqkxgt7s5zp8ah05dexdua0zv
ETH: 0x8c096710e3621fe5f8E384efBd17D8E3E798Dc0c (Cryptik.eth)
DOGE: D6n2g2KGdqEwR4MhhT7uAdvZFaTwqwd6rS
Venmo: @dtcarls
Este repositorio ejecuta un bot de chat de GroupMe, Discord o Slack para enviar información de ESPN Fantasy Football a una sala de chat de GroupMe, Discord o Slack.
¿Qué hace esto?
Enlace de programación: https://www.gamedaybot.com/message-schedule/
Envía los siguientes mensajes en este horario:
Resultados cerrados: lunes, 18:30, hora de la costa este (juegos que tienen una diferencia de 16 puntos entre sí para estar atentos durante el juego del lunes por la noche)
Marcador: lunes, martes y viernes, 7:30 hora local (marcador de fantasía de ESPN actual)
Trofeos - Martes - 7:30 hora local (puntuación más alta, puntuación más baja, victoria más grande, victoria más cercana)
Clasificación de potencia - martes - 18:30 hora local
Clasificación actual - miércoles - 7:30 hora local
Informe de exención: miércoles, 7:30 hora local
Enfrentamientos - Jue - 19:30 hora de la costa este (Próximos enfrentamientos)
Informe de jugadores a monitorear - Domingo - 7:30 hora local (Jugadores en la alineación inicial que son Cuestionables, Dudosos o Fuera)
Marcador - Domingo - 16:00, 20:00 hora de la costa este (Marcador de fantasía de ESPN actual)
Configurar GroupMe, Discord o Slack e implementar la aplicación en Heroku
Configuración de GroupMe
Configuración floja
Configuración de discordia
Configuración de Heroku
Ligas privadas
Solución de problemas/Preguntas frecuentes
Introducción al desarrollo y las pruebas
Instalación para el desarrollo
Variables de entorno
Ejecutando con Docker
Ejecutar sin Docker
ejecutando las pruebas
¿Todo esto parece demasiado complicado y confuso? ¿No sabes qué es un "Heroku"? Considere visitar https://www.GameDayBot.com/ donde ofrezco un servicio de alojamiento y hago todo lo posible para minimizar la complejidad.
No implementes 2 del mismo bot en el mismo chat. En general, deberías dejar que tu comisionado haga la configuración.
Vaya a www.groupme.com y regístrese o inicie sesión
Si aún no tienes uno para tu liga, crea un nuevo "Chat grupal"
A continuación configuraremos el bot para GroupMe.
Vaya a https://dev.groupme.com/session/new e inicie sesión
Haga clic en "Crear bot"
Crea tu bot. GroupMe hace un buen trabajo explicando qué es cada cosa.
Después de haber creado su bot, verá algo similar a esto. Haga clic en "Editar"
Esta página es importante ya que necesitará el "ID del bot" en esta página. También puede enviar un mensaje de prueba con el cuadro de texto para asegurarse de que esté conectado a su sala de chat. Nota al margen: si utiliza la identificación del bot que se muestra en la página, enviará spam a una sala de chat vacía, por lo que no vale la pena el esfuerzo.
Vaya a https://slack.com/signin e inicie sesión en el espacio de trabajo en el que estará el bot.
Si aún no tienes uno para tu liga, crea un nuevo canal de liga.
A continuación configuraremos el bot para Slack.
Vaya a https://api.slack.com/apps/new
Asigne un nombre a la aplicación y elija el espacio de trabajo deseado en el menú desplegable.
Seleccione la sección Webhooks entrantes en el lateral.
Cambie el interruptor de Desactivado a Activado.
Seleccione Agregar nuevo webhook al espacio de trabajo
En el menú desplegable Publicar en, seleccione el canal al que desea enviar mensajes y luego seleccione Autorizar.
Esta página es importante ya que necesitará la "URL del webhook" en esta página.
Inicie sesión o cree una cuenta de discordia
Vaya a o cree un servidor de Discord para recibir mensajes en
Abra la configuración del servidor
Ir a webhooks
Cree un webhook, asígnele un nombre y elija en qué canal recibir mensajes
Guarde la "URL del webhook" en esta página
"El 28 de noviembre de 2022, Heroku dejó de ofrecer planes de productos gratuitos"
Ofrezco un servicio de hosting muy inferior a los nuevos costos de Heroku en https://www.GameDayBot.com/
Vaya a https://id.heroku.com/login y regístrese o inicie sesión
Haga clic en este botón morado para implementar automáticamente el código:
Vaya a su panel (https://dashboard.heroku.com/apps). Ahora deberá configurar las variables de entorno para que funcionen para su liga. Haga clic en Configuración en su panel de control. Luego haga clic en el botón "Revelar variables de configuración" y verá algo como esto.
Ahora necesitaremos editar estas variables (haga clic en el lápiz a la derecha de la variable para modificar) Nota: la aplicación se reiniciará cuando cambie cualquier variable, por lo que su sala de chat puede recibir semi-spam con el mensaje de inicio "Hola". cambie la variable INIT_MSG para que esté en blanco y no tenga ningún mensaje de inicio. También cabe señalar que Heroku parece reiniciar la aplicación aproximadamente una vez al día.
Consulte la sección Variables de entorno para obtener documentación.
Una vez que haya configurado sus variables, deberá activarlo. Navegue a la pestaña "Recursos" del Panel de control de su aplicación Heroku. Deberías ver algo como a continuación. Haga clic en el lápiz a la derecha y cambie el botón para que sea azul como se muestra y haga clic en "Confirmar".
¡Ya terminaste! ¡Ahora tienes un chatbot GroupMe/Slack/Discord con todas las funciones para las ligas de ESPN! Si tienes un INIT_MSG, lo verás exclamado en tu sala de chat de GroupMe, Discord o Slack.
Desafortunadamente, para realizar implementaciones automáticas de la última versión, necesita acceso de administrador al repositorio en git. Puede buscar actualizaciones en la página de github (https://github.com/dtcarls/fantasy_football_chat_bot/commits/master) y hacer clic en el botón implementar nuevamente; sin embargo, esto implementará una nueva instancia y será necesario editar las variables nuevamente.
Estas instrucciones le proporcionarán una copia del proyecto en funcionamiento en su máquina local para fines de desarrollo y prueba.
Con Docker:
clon de git https://github.com/dtcarls/fantasy_football_chat_botcd fantasy_football_chat_bot ventana acoplable build -t fantasy_football_chat_bot.
Sin ventana acoplable:
clon de git https://github.com/dtcarls/fantasy_football_chat_botcd fantasy_football_chat_bot pip install -r requisitos.txt# o#python3 setup.py install
Var | Tipo | Requerido | Por defecto | Descripción |
---|---|---|---|---|
BOT_ID | Cadena | Para GrupoMe | Ninguno | Este es su ID de Bot de la página de desarrolladores de GroupMe |
SLACK_WEBHOOK_URL | Cadena | Para holgura | Ninguno | Esta es la URL de tu Webhook desde la página de la aplicación Slack |
DISCORD_WEBHOOK_URL | Cadena | Para la discordia | Ninguno | Esta es la URL de su Webhook desde la página de configuración de Discord |
LIGA_ID | Cadena | Sí | Ninguno | Esta es tu identificación de liga de ESPN |
START_DATE | Fecha | Sí | Inicio de la temporada actual (AAAA-MM-DD) | Aquí es cuando el bot comenzará a prestar atención y a enviar mensajes a tu chat. |
END_DATE | Fecha | Sí | Fin de la temporada actual (AAAA-MM-DD) | Aquí es cuando el bot dejará de prestar atención y dejará de enviar mensajes a tu chat. |
LIGA_AÑO | Cadena | Sí | Año actual (AAAA) | Año de la Liga ESPN a tener en cuenta |
ZONA HORARIA | Cadena | Sí | América/Nueva_York | La zona horaria en la que buscarán enviarse los mensajes. |
INIT_MSG | Cadena | No | Ninguno | El mensaje que dirá el bot cuando se inicie. |
TOP_HALF_SCORING | booleano | No | FALSO | Si se establece en Verdadero, cuando las clasificaciones se publiquen el miércoles, también incluirá estar en la mitad superior de tu liga para obtener puntos y recibirás una "victoria" adicional por ello. |
FRASE_ALEATORIA | booleano | No | FALSO | Si se establece en Verdadero, cuando los enfrentamientos se publiquen el martes, también incluirá una frase aleatoria. |
MONITOR_REPORT | booleano | No | FALSO | Si se establece en Verdadero, proporcionará un informe de los jugadores en la alineación inicial que son Cuestionables, Dudosos, Fuera o proyectados por menos de 4 puntos. |
INFORME DE RENUNCIA | booleano | No | FALSO | Si se establece en Verdadero, proporcionará un informe de exención de altas/eliminaciones. |
DAILY_WAIVER | booleano | No | FALSO | Si se establece en Verdadero, proporcionará un informe de exención de altas y bajas diarias. |
ESPN_S2 | Cadena | Para ligas privadas | Ninguno | Utilizado para ligas privadas. Consulte la sección de ligas privadas para obtener documentación. |
SWID | Cadena | Para ligas privadas | Ninguno | Utilizado para ligas privadas. (Se puede definir con o sin {}) Consulte la sección Ligas privadas para obtener documentación. |
Use BOT_ID si usa Groupme, DISCORD_WEBHOOK_URL si usa Discord y SLACK_WEBHOOK_URL si usa Slack (o varios para recibir mensajes en varios lugares)
>>> exportar BOT_ID=[ingrese su ID de bot de GroupMe] >>> exportar WEBHOOK_URL=[ingrese la URL de su webhook] >>> export LEAGUE_ID=[ingrese el ID de la liga ESPN] >>> export LEAGUE_YEAR=[ingrese el año de la liga] >>> cd fantasía_futbol_chat_bot >>> ejecución de la ventana acoplable --rm=Verdadero -e BOT_ID=$BOT_ID -e LEAGUE_ID=$LEAGUE_ID -e LEAGUE_YEAR=$LEAGUE_YEAR chat_bot_de_futbol_fantasia
Use BOT_ID si usa Groupme, DISCORD_WEBHOOK_URL si usa Discord y SLACK_WEBHOOK_URL si usa Slack (o varios para recibir mensajes en varios lugares)
>>> exportar BOT_ID=[ingrese su ID de bot de GroupMe] >>> exportar WEBHOOK_URL=[ingrese la URL de su webhook] >>> export LEAGUE_ID=[ingrese el ID de la liga ESPN] >>> export LEAGUE_YEAR=[ingrese el año de la liga] >>> python3 gamedaybot/espn/espn_bot.py
Las pruebas automatizadas para este paquete se incluyen en el directorio tests
. Después de la instalación, puedes ejecutar estas pruebas cambiando el directorio al directorio gamedaybot
y ejecutando lo siguiente:
instalación de pip -r requisitos-test.txtpytest
Para la liga privada necesitarás obtener tu swid y espn_s2. Puede encontrar estos dos valores después de iniciar sesión en su cuenta de Fantasy Football de Espn en el sitio web de Espn. (Navegador Chrome) Haga clic derecho en cualquier parte del sitio web y haga clic en la opción inspeccionar. Desde allí, haga clic en Aplicación en la barra superior. A la izquierda, en la sección Almacenamiento, haga clic en Cookies y luego en http://fantasy.espn.com. Desde allí debería poder encontrar las variables y valores de swid y espn_s2.
La liga debe estar llena.
El bot no funciona
¿Te perdiste algún paso de las instrucciones? Intenta hacerlo desde cero nuevamente. Si aún no tienes suerte, abre un problema (https://github.com/dtcarls/fantasy_football_chat_bot/issues) o accede a Discord (enlace en la parte superior del archivo Léame) para que la respuesta se pueda compartir con otros.
¿Cómo se calculan los rangos de poder?
Se calculan utilizando el dominio de 2 pasos, así como una combinación de puntos anotados y margen de victoria. Ponderado 80/15/5 respectivamente. No prestaría tanta atención al número real sino más bien a la brecha entre equipos. La fuente completa de los cálculos se puede ver aquí: https://github.com/cwendt94/espn-api/pull/12/files. Si quieres un tutorial sobre matrices de dominancia: https://www.youtube.com/watch?v=784TmwaHPOw
¿Existe una versión de esto para Yahoo/CBS/NFL/[insertar otro sitio]?
No, esto requeriría una revisión importante para otros sitios.
¿Cómo configuro otra zona horaria?
Especifique su variable https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
¿Existe una versión de esto para Messenger/WhatsApp/[insertar otro chat]?
No, pero estoy abierto a recibir solicitudes que implementen su API para obtener soporte multiplataforma adicional.
Mi clasificación parece incorrecta. Tengo raro (+1) en él.
TOP_HALF_SCORING: si se establece en Verdadero, cuando se publiquen las clasificaciones el miércoles, también se incluirán las victorias con puntuación en la mitad superior.
Las victorias en la mitad superior son estar en la mitad superior de tu liga para obtener puntos y recibes una "victoria" adicional por ello. El número entre paréntesis (+1) le indica cuántas victorias sumadas durante la temporada para las victorias en la mitad superior.