gitextract_2kqk_pde/ ├── .dockerignore ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── everyday_wechat/ │ ├── __init__.py │ ├── _config.yaml │ ├── control/ │ │ ├── __init__.py │ │ ├── airquality/ │ │ │ ├── __init__.py │ │ │ └── air_quality_aqicn.py │ │ ├── bot/ │ │ │ ├── __init__.py │ │ │ ├── ownthink_robot.py │ │ │ ├── qingyunke.py │ │ │ ├── qq_nlpchat.py │ │ │ ├── ruyiai.py │ │ │ ├── tian_robot.py │ │ │ ├── tuling123.py │ │ │ └── yigeai.py │ │ ├── calendar/ │ │ │ ├── __init__.py │ │ │ ├── rt_calendar.py │ │ │ └── sojson_calendar.py │ │ ├── express/ │ │ │ ├── __init__.py │ │ │ └── kdniao_express.py │ │ ├── horoscope/ │ │ │ ├── __init__.py │ │ │ └── xzw_horescope.py │ │ ├── moviebox/ │ │ │ ├── __init__.py │ │ │ └── maoyan_movie_box.py │ │ ├── onewords/ │ │ │ ├── __init__.py │ │ │ ├── acib.py │ │ │ ├── caihongpi.py │ │ │ ├── hitokoto.py │ │ │ ├── juzimi.py │ │ │ ├── lovelive.py │ │ │ ├── rtjokes.py │ │ │ └── wufazhuce.py │ │ ├── rubbish/ │ │ │ ├── __init__.py │ │ │ └── atoolbox_rubbish.py │ │ └── weather/ │ │ ├── __init__.py │ │ ├── _city_sojson.json │ │ ├── rtweather.py │ │ └── sojson.py │ ├── main.py │ └── utils/ │ ├── __init__.py │ ├── common.py │ ├── config.py │ ├── data_collection.py │ ├── db_helper.py │ ├── friend_helper.py │ ├── group_helper.py │ └── itchat_helper.py ├── history.md ├── requirements.txt ├── run.py └── tests/ ├── __init__.py ├── test_01.py ├── test_alarm/ │ ├── __init__.py │ ├── _trial_temp/ │ │ ├── _trial_marker │ │ └── test.log │ ├── _trial_temp-1/ │ │ ├── _trial_marker │ │ └── test.log │ └── test_info.py ├── test_config/ │ └── __init__.py ├── test_control/ │ ├── __init__.py │ ├── _trial_temp/ │ │ ├── _trial_marker │ │ └── test.log │ ├── test_one_words.py │ └── test_rubbish.py ├── test_db/ │ ├── __init__.py │ ├── _trial_temp/ │ │ ├── _trial_marker │ │ └── test.log │ ├── test_air.py │ ├── test_db.py │ └── test_express.py └── test_email_alarm/ ├── __init__.py └── test_email.py