Skip to content

jaimeadf/ruina

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruína

Ruina Is Not an Agendator

Um script feito em Python para automaticamente agendar suas refeições nos restaurantes universitários da UFSM.

Como funciona?

Ruína a diariamente as 7 horas da manhã utilizando o GitHub Actions. Ele lê seu cronograma definido no arquivo config.yaml e, por meio do aplicativo da UFSM, agenda todas as refeições programadas para o dia posterior. Além disso, sempre que ocorrer algum erro durante os agendamentos, o GitHub mandará um e-mail para você avisando que o script falhou.

Como usar?

  1. Crie um fork desse repositório e, dentro dele, siga as instruções seguintes.
  2. Edite o arquivo config.yaml para se adequar ao seu cronograma (veja Configuração).
  3. Dentro da aba Settings, seção Secret and Variables e item Actions, adicione duas secrets:
    • Username: Contendo sua matrícula da UFSM.
    • Password: Contendo sua senha da UFSM.
    • As secrets são variáveis privadas que somente podem ser alteradas. Nem ninguém, nem mesmo você terá acesso ao seu valor, depois de adicionada. secrets-guide
  4. Dentro da aba Actions, clique em ativar workflows. enable-actions-guide
  5. Depois, ainda dentro dessa aba, clique em Ruina e ativar. enable-workflow-guide
  6. Pronto, a partir de agora, Ruína irá executar diariamente e agendar as suas refeições do dia seguinte. Você pode ver as logs e executá-la manualmente na aba Actions.

Por favor, sempre que não for almoçar, cancele o agendamento ou disponibilize a refeição.

Configuração

A configuração é feita a partir da edição do arquivo config.yaml que contém as seguintes opções:

Environment

⚠️ Não é recomendado alterar as configurações dessa seção. As informações padrões foram obtidas a partir da engenharia reversa do aplicativo UFSMDigital.

  • app: O nome do aplicativo realizando o log in.
  • device-id: O identificador único do dispositivo.
  • device-info: Informações sobre o dispositivo, incluindo o tipo e o sistema operacional.
  • message-token: Uma constante que não descobri a utilidade.

Schedules

A seção de schedules permite você definir uma lista de cronogramas para diferentes dias da semana. Cada cronograma consiste nas seguintes opções:

  • weekday: O dia da semana para o cronograma (por exemplo, "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
  • restaurant: O restaurante associado ao agendamento (1 para o RU I e 2 para o RU II).
  • vegetarian: Se o agendamento será com a opção vegetariana (true ou false).
  • coffee: Se o agendamente inclui o café da manhã (true ou false).
  • lunch: Se o agendamento inclui o almoço (true ou false).
  • dinner: Se o agendamento inclui a janta (true ou false).

Agradecimentos

Obrigado, @guikage pela ideia de nome.


Desenvolvido com ☕ por @jaimeadf para propósitos educacionais.

About

Agende automaticamente suas refeições nos restaurantes universitários da UFSM. Também conhecido como Agendator.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages