messenger-maid-chan
messenger-maid-chan copied to clipboard
[Deprecated] Maid-chan feat Facebook Messenger bot to accompany personal daily life
[Deprecated] Maid-chan feat Facebook Messenger
Note 2: As of March 4, 2020, Facebook Messenger does not allow non-news page to use NON_PROMOTIONAL_SUBSCRIPTION
tag.
After March 4th, 2020 Only Pages that are registered with the Facebook News Page Index (NPI) will be allowed to send non-promotional subscription messages. This rule has blocked Maid-chan in sending background messages.
Note: As of October 5, 2018, Maid-chan is now migrated to Python 3.6+.
Maid-chan name is inspired from Sakurasou's Artificial Intelligence.
If you have any other ideas, I am accepting contributions :) For developers, you could access the documentation pages for developers here. For others who are interested in using Maid-chan features, please ask me directly and head to Maid-chan Facebook Page.
Maid-chan is featured in:
Available Features
-
Upload image for random image filtering via Primitive (Requires
maidchan_primitive
running in the background and ImageMagickconvert
feature for generating GIF)
-
Simple chat (English or Bahasa Indonesia) via ChatterBot feat langdetect. The accuracy is still bad, though
-
Daily good morning and good night messages, with "offerings"! (Requires
maidchan_scheduler
running in the background)
-
Daily Japanese Kanji & Vocabulary (Requires
maidchan_scheduler
running in the background)
-
RSS Feed Notifier for Anime, Manga, etc which is similar to my previous RSS Twilio bot (Requires
maidchan_scheduler
running in the background)
-
Translate text via Google Translate feat translate-shell
-
[Experimental] Tokyo train status feat Yahoo Japan (Requires
maidchan_scheduler
running in the background)
All time-related features are currently handled in UTC+9 (Japan Time).
Available Commands
All users
-
help
: You will get the list of all available commands from Maid-chan -
subscribe offerings
: Maid-chan will start giving you a good morning message and a good night messages -
unsubscribe offerings
: Maid-chan will stop spamming you with those messages, but Maid-chan will be sad :'( -
update offerings
: Maid-chan will ask you about your usual waking up and sleeping time, because Maid-chan doesn't want to disturb your sleep . . ., usually :p (some surprises inside!)
-
subscribe japanese
: Maid-chan will start sending you random daily Kanji & Vocabulary -
unsubscribe japanese
: Maid-chan will stop sending you random daily Kanji & Vocabulary -
update japanese
: Maid-chan will ask about your level preference for Kanji (N1 to N4, old test format)
-
update name
: By default, Maid-chan will call you withonii-chan
-
subscribe rss
: You could add an RSS feed with its pattern and let Maid-chan notify you when there is an update -
unsubscribe rss
: You could remove one of your RSS feed subscription each time you call this command
-
[Experimental]
subscribe train
: Maid-chan will give you updates related to Tokyo train status (currently, it only supports admin's train line :p) -
[Experimental]
unsubscribe train
: Maid-chan will stop sending you information related to Tokyo train status -
show profile
: Do you want to know what Maid-chan knows about you? Then, you could use this command!
How to Run
-
For initial configuration, you need to create
maidchan/config.py
based onmaidchan/config.py.example
and fill those values based on your own configuration. -
Maid-chan is using Redis as the database. Redis can be downloaded via https://redis.io/download. Run Redis as a background process in port 6379 (default port).
-
ChatterBot 0.8.X has dropped support for simple JSON storage because of performance issues. Depending on your choice, you need to have either SQLite or MongoDB and modify
maidchan/config.py
accordingly. Alternatively, you can setIS_CHATTERBOT_ENABLED
flag toFalse
inmaidchan/config.py
to disable chatbot feature. MongoDB Installation Guide -
It is recommended to use
venv
(e.g.:python3 -m venv venv
thensource venv/bin/activate
). You need to install all dependencies viapip install -r requirements.txt
. -
Run
python setup.py install
to build Maid-chan. Finally, you can executemaidchan
in the background process to run this bot.
Priority Ideas
- (Admin only) Send link to download at home, e.g.: Youtube (feat https://github.com/soimort/you-get), image files, etc
Existing Feature Improvement Ideas
- (Admin only) Broadcast message to all users which have talked to Maid-chan at least once
- Modifiable daily Japanese Kanji & Vocabulary time
- Automatic offerings update from upstream
Future Ideas
- Japanese language quiz
- Image recognition, e.g.: waifu recognizer - https://github.com/nagadomi/lbpcascade_animeface or self-created
- Natural Language processing for conversing daily conversation (Naturally we can improve it with IBM Watson or Google Cloud Speech, but the model "probably" differs from Maid-chan requirement)
- Mini games
- Location-aware features: Recommendation, weather, etc
- IoT with home electronics
- etc
Reference
- http://gakuran.com/japanese-csv-database/ for raw data of Japanese Vocabulary and Kanji list
- https://github.com/hungtraan/FacebookBot
License
This project itself is licensed under MIT License. All images are owned by their respective creators.
Last Updated: October 5, 2018