Skip to content

waleska404/SkylineBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkylineBot

Proyecto para la asignatura Lenguajes de Programación de la FIB (edición primavera 2020).

Bot de Telegram con el que puedes interactuar para generar y operar con skylines.

Desarrollado con Python y ANTLR.

Antes de empezar

A continuación se especifican las instrucciones para poder ejecutar el bot e interactuar con él.

Prerequisitos

Las librerias necesarias estan especificadas en el archivo requeriments.txt, para instalarlas ejecutar:

$ pip3 install -r requeriments.txt

Instalación

Una vez instaladas las librerias necesarias hace falta token.

  1. Instalar Telegram en caso de no tenerlo.
  2. Visitar a @BotFather.
  3. Utilizar el comando /newbot y proporcionar la información requerida para obtener un token. (Para información mas detallada ver https://core.telegram.org/bots#6-botfather. )

Copia el token y pegalo en archivo token.txt en la misma carpeta que bot.py.

Ahora ya es posible ejecutar el bot:

$ python3  bot.py

Ahora con el link que @BotFather ha proporcionado podemos ir al chat del bot e interactuar con él.

Interacciones con el bot

Comandos

  • /start: Inicia la conversación conmigo.
  • /help: Obten una lista de todos los comandos que me puedes enviar.
  • /author: Información sobre el autor de este bot.
  • /lst: Muestra los identificadores definidos y su correspondiente area.
  • /clean: Borra todos los identificadores definidos.
  • /save id: Guarda un skyline definido con id: id.
  • /load id: Carga un skyline que hayas guardado previamente con id: id.

Lenguaje

Creación de skylines

Simple

Para crear un skyline simple con un edificio basta con especificar: (xmin, altura, xmax) donde xmin define la posición inicial del edificio, xmax la posición final, y altura la altura.

Compuesto

Para crear un skyline compuesto por diversos edificios se especifica de la siguiente manera: [(xmin, altura, xmax),...] donde los parametros se refieren a las mismas características que en el apartado anterior.

Aleatorio

Para generar un skyline aleatorio indicamos: {n, h, w, xmin, xmax} donde n especifica el numero de edificios,** h** que los edificios tendrán una altura aleatoria entre 0 y h, w que los edificios tendrán una anchura aleatoria entre 1 y w, y por ultimo xmin y xmax que los edificios tendrán una posición de x aleatoria entre estos dos valores.

Asignación

En caso de querer darle un nombre a un skyline y poder operar con él solamente espeficicando su ID podemos hacer una asignación de la forma: a := (1,2,3) donde 'a' corresponderia al ID del skyline (1,2,3).

Operaciones

Se pueden realizar las siguientes operaciones con skylines:

  • Unión: skyline + skyline
  • Intersección: skyline * skyline
  • Replicación: skyline * N
  • Desplazamiento a la derecha: skyline + N
  • Desplazamiento a la izquierda: skyline - N
  • Reflexión: -skyline

Autora

Paula Boyano Ivars

About

🌆 Telegram Bot: SkylineBot. Create skylines and play with them.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published