기존 Discord 기반의 봇 서비스를 제공하였던 테크봇 을 Telegram으로 마이그레이션 한 프로젝트입니다.
텔레그램 테크봇
위 링크를 눌러 이 프로젝트의 안정적인 버전을 사용한 '테크봇'을 사용할 수 있습니다.
-
공지사항과 학식 자동 알림
- 매일 자정
/notice
를 켠 사용자에게 오늘의 학사일정을 보냅니다. - 30분 간격으로 학교 홈페이지의 학교공지사항, 학사공지, 장학공지, 생활관공지(선택) 를 체크하여, 새 공지사항이 올라왔다면
/notice
를 켠 사용자에게 알림을 보냅니다.
- 매일 자정
-
봇 조작 명령어
/help
: 테크봇의 명령어 목록과 설명을 볼 수 있습니다./notice
: 학교 공지사항과 학사일정 알림을 설정하는 명령어입니다.- 봇 초대 후 이 명령어를 입력하지 않으면 공지사항 알림, 학사일정 알림을 받을 수 없습니다.
/food
: 학식 메뉴 알림 시간을 설정하는 명령어입니다./dorm
: 생활관 알림을 설정하는 명령어입니다./ping
: 명령어 입력 시점부터 메세지 전송까지 총 지연시간을 보여줍니다.
-
학교 생활 명령어
/cafe2
: 제2학생회관의 오늘 식단(점심, 저녁)을 보여줍니다. 2023년 1월 28일 기준으로 점심의 간단 snack 메뉴는 항상 같으므로 생략합니다.내일
옵션으로 내일의 제2학생회관 식단을 확인 가능합니다.
/tepark
: 테크노파크의 이번 주 식단표를 이미지로 보여줍니다./weather
: 캠퍼스가 있는 공릉동의 날씨와 1 ~ 6시간 뒤 날씨 예보를 보여줍니다.
문제 발생 시 반드시 해당 오류 발생 시각과 오류 발생 명령어를 포함한 issue를 작성해 문제를 알려주시기 바랍니다.
main.py
: 테크봇의 메인 코드입니다. 이 코드를 실행하여 테크봇을 구동할 수 있습니다.log.py
: 로깅 모듈database.py
: 데이터베이스 관리schedule_notification.py
: 학사일정 알림을 위한 코드입니다.crawlers
directoryfoodcrawler.py
: 학교 홈페이지에서 식단을 크롤링하는 코드입니다.noticecrawler.py
: 학교 공지사항과 일정을 크롤링하는 코드입니다.
commands
directorycallback.py
: Callback을 처리하는 모듈dorm.py
: Dormitory 명령어 모듈food.py
: Food 명령어 모듈help.py
: Help 명령어 모듈notice.py
: Notice 명령어 모듈ping.py
: Ping 명령어 모듈start.py
: Start 명령어 모듈weather.py
: Weather 명령어 모듈
requirements.txt
: 테크봇을 실행하는 데 필요한 패키지 목록example.env
: 환경변수 설정을 위한 예시 파일입니다.
- 이 프로젝트의 라이센스는 GNU GPL 3.0이며, 자세한 내용은
LICENSE
를 참고하시기 바랍니다.