Code Monkey home page Code Monkey logo

vulcan-o-bot's Introduction

💫 About Me:

🔭 I’m currently working on Bocianie Gniazda
🤝 I’m looking for help with AI models
🌱 I’m currently learning AI
💬 Ask me about my android apps
😄 Pronouns: he/him
⚡ Fun fact: Cats usually sleep around an average of 15 hours PER day.

Przewodnik po repozytoriach

Aplikacje mobilne

Aplikacje mobilne nauka

Inne

  • vulcan-o-bot - bot discorda napisany w js pobierający dane z dziennika elektronicznego
  • zsk - różne rzeczy z technikum
  • PythonProjektNaPP - prosty skrypt w pythonie (technikum)

🌐 Socials:

Facebook Reddit Stack Overflow Twitter

📊 GitHub Stats:



🏆 GitHub Trophies

✍️ Random Dev Quote

😂 Random Dev Meme


💰 You can help me by Donating

PayPal

vulcan-o-bot's People

Contributors

dependabot[bot] avatar luncenok avatar ukaszogi avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

vulcan-o-bot's Issues

Co do tego developa....

Może najfajniej będzie zrobić jakoś tak, że wszystkie komendy z kategorii dev nie uruchomią się, gdy bot nie jest w trybie develop na yarnie?

usage jako tablica

Niektóre komendy (login, plan) mają skomplikowany usage i warto byłoby podać przykłady. Proponuje by usage było tablicą, a w helpie byłoby

'`'+prefix+usage.join('`\n`'+prefix)+'`'

Oceny

  • oceny użyte samemu (albo lepiej z args[0] == "all" daje to samo co podsumowanie z przyjaciela (propozycja), czyli średnie z ocen cząstkowych (funkcja liczenia średnich może być w utils(?))
  • oceny wypisywane dla jednego przedmiotu w kolejności chronologicznej z opisami, bez wartości. są reakcje, które ujawniają oceny
  • jeśli komenda wysłana na priv wszystkie wartości ocen są od razu widoczne
  • połączyć podsumowanie ocen z samymi ocenami. w sensie w fieldsach w name będzie przedmiot - średnia - proponowana - końcowa a w value będą oceny

Rozszerzenie planu

Takie rzeczy:
?plan poniedziałek
?plan 1 <- robi to samo co ?plan poniedziałek
?plan 0 <- plan na cały tydzień w 5 osobnych wiadomościach
?plan 23.03.2021

  • ?plan poniedziałek / ?plan 1
  • ?plan 23.03.2021
  • ?plan jfhdiiaw
  • ?plan 0

komenda info

  • Statystyki (z ready.js)
  • Wersja (z package.json)
  • Tryb (z NODE_ENV)
  • uptime (nie wiem jeszcze jak)
  • link do repo na gh (od 0.5.0)

Embed w planie lekcji

Można zobaczyć czy lekcje wypisane po kolei nie wyglądają czasami lepiej w embedzie, bo aktualnie plan lekcji jest wyświetlany w brzydkim bloku kodowym

Czym jest plik utils.js?

Co jest w tym pliku?
tam miedzy innymi znajdują się funkcje które są wywoływane tylko w jednym miejscu, np getExamsFormattedText jest i będzie (ze swojej natury) wywoływane tylko w commands/exams.js

Nie znam jakiś kredo lub motywów przewodnich programowania, ale czy to nie byłoby lepiej np gdyby był ten kod w exams.js, a uonet/getExams zwracał jsona?

W moim branchu enchancement/exams-embed staram się właśnie tak zrobić, bo embeda będę tworzył poprzez utils/generateEmbed i dlatego potrzebuje jsona examów.

Kontynuując w ten sposób w jaki jest, musiałbym zrobić funkcje uonet.getExamsEmbed, która robiłaby to samo co uonet.getExams, ale zamiast utils.getExamsFormatedTExt(json), zwracałaby utils.getExamsFormatedEmbed(json), czyli musiałbym jeszcze napisać getExamsFormatedEmbed w utils.js

Zobaczysz w praktyce o co mi chodzi, jak skończę #28

Embed automation

Ej, miałoby sens, by wszystkie embedy wyglądały podobnie, w sensie:

  • te w planie lekcji
  • te w ocenach i podsumowaniu
  • te we frekwencji
  • te, gdzie jeszcze będzie sens, by był

Nie wiem jak to zrobić, więc to jest w ideas

Komenda status

Przydała by się komenda status która by wyświatlała czy vulcan działa czy nie.

Bezpieczeństwo++

Sprawa wygląda tak. Trochę brzydko jest załatwione logowanie i dzisiaj mnie naszedł taki pomysł:

  • Proces logowania się nie zmienia: ?login [email] [hasło] [symbol],
  • Bot bierze te dane, szyfruje korzystając z klucza prywatnego w .env,
  • Odsyła na dm zaszyfrowaną wiadomość (już pewnie bez tego ?login, po prostu email hasło symbol),
  • Usuwa oryginalną wiadomość.

Czemu to jest lepsze:

  • Hasło nie jest widoczne gołym okiem,
  • Normalnie żeby wykraść dane trzeba było mieć token i ścieżkę do bazy. Teraz trzeba będzie mieć jeszcze te klucze co szyfrują,
  • NAJWAŻENIJSZE: Będzie można zmieniać klucze co tydzień (coś, czego się nie da zrobić z tokenem i ścieżką do bazy danych). Wtedy bot będzie automatycznie edytował treść zapisanej zaszyfrowanej wiadomości. (ale to na przyszłość... Na pewno po 1.0.0. Jak to się zrobi, to w pewnym sensie utracimy część kontroli nad botem)

Napisz co o tym sądzisz. Chciałbym się tym zając już znacznie później, może 0.5.0, bo to jest grube i wymaga sporo umiejętności, których na razie nie do końca mam.

Dzielony dostęp

Widzę to tak: jest zestaw komend (plan, zadania, sprawdziany, szczęśliwy, może coś jeszcze), które wykonają się nawet bez zalogowania, bo ktoś udziela dostępu do tych zasobów. Jest to zarządzane poprzez grupy i jest jedna osoba na grupę (np jak ja jestem zalogowany, to wszyscy z rolą @2g mogą z tamtych komend korzystać)

Daje to spore możliwość, ogranicza zagrożenia z wycieków, jest mniej denerwujące dla tych, co nie chcą się logować, ale chcą korzystać z bota (dafaq, niech się zdecydują), A TAKŻE na przyszłość daje możliwości sponsoringu (powiedzmy normalnie jedna, może dwie role na serwer, a dla sponsorów więcej)

Użycie startTyping

tam gdzie nie jest potrzebne aktualizowanie wiadomości z procentami np tak jak to jest w status.js

Lepsza komenda status

Chodzi tutaj o polepszenie komendy status w ten sposób aby sprawdzała nie tylko czy status połączenia jest 200 ale i sprawdzała czy dana strona poprawnie się ładuje. Np. czy strona główna zawiera tekst "Zaloguj się"
Zrobić embed w którym będzie: czy strona startowa działa i czy jakieś tam inne requesty do vulcana działają.

Hosting info

Informacja o tym, gdzie jest hostowany bot. W komendzie info.
Co o tym sądzisz? Jeśli tak, to dodaj proszę do env na heroku zmienną HOST=Heroku

Będzie to wyświetlane w komendzie info. Mam już gotowego brancha, wystarczy, że zrobię publish i pr
image
image
image

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.