All Projects → art-vasilyev → instachatbot

art-vasilyev / instachatbot

Licence: MIT license
Simple framework for building Instagram chat bots with menu driven interface

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to instachatbot

InstaResponder
Instagram Auto DM responder with DialogFlow 🔥
Stars: ✭ 42 (+147.06%)
Mutual labels:  instagram, chatbot
hashtag.io
Hashtag.io is a PHP based social networking website, which supports exclusive multimedia content, sharing and private or group messaging service.
Stars: ✭ 64 (+276.47%)
Mutual labels:  instagram
hosts
自动生成 Hosts 文件,科学上网
Stars: ✭ 30 (+76.47%)
Mutual labels:  instagram
osschat
Apache Open Source Software Chat BOT
Stars: ✭ 115 (+576.47%)
Mutual labels:  chatbot
Skeleton
Skeleton is a Social Engineering tool attack switcher
Stars: ✭ 44 (+158.82%)
Mutual labels:  instagram
Pokedex
Pokedex is a robust Discord bot that mimics the iconic Pokedex from the Pokemon games and show. It's loaded with features to help players of all skill levels to learn and better enjoy Pokemon! The goal of Pokedex is to provide users with as much data about the Pokemon games as they desire conveniently and with minimal effort.
Stars: ✭ 18 (+5.88%)
Mutual labels:  chatbot
Insta-notFollow
A Flask web app to find out people whom you follow on Instagram but they don't follow you back 😈
Stars: ✭ 20 (+17.65%)
Mutual labels:  instagram
VKRdownloader
Vkrdownloader: All in one Video Downloader - Download videos from facebook twitter youtube tiktok and 1000+ other sites . YouTube downloader , facebook downloader . made by Vijay Kumar
Stars: ✭ 25 (+47.06%)
Mutual labels:  instagram
How-To-Build-A-Chatbot
Learn to build a facebook chatbot using Python and Flask
Stars: ✭ 15 (-11.76%)
Mutual labels:  chatbot
Instagram2Fedi
Python script for crossposting from Instagram to Mastodon or Pixelfed
Stars: ✭ 45 (+164.71%)
Mutual labels:  instagram
facebook-messenger
Go (GoLang) package for Facebook Messenger API and Chat bot
Stars: ✭ 62 (+264.71%)
Mutual labels:  chatbot
keras-chatbot-web-api
Simple keras chat bot using seq2seq model with Flask serving web
Stars: ✭ 51 (+200%)
Mutual labels:  chatbot
FAQ-Bot-QQ
一个基于Mirai框架的Q群问答机器人
Stars: ✭ 30 (+76.47%)
Mutual labels:  chatbot
MyIGBot
MyIGBot is a Private API for Instagram to like, follow, comment, view & intaract with stories, upload post & stories, get all information about a user/posts and get posts based on locations/hashtags. It also supports proxy.
Stars: ✭ 137 (+705.88%)
Mutual labels:  instagram
jovo-starter-web-chatwidget
Fully customizable open source chat widget that can be added to any website.
Stars: ✭ 20 (+17.65%)
Mutual labels:  chatbot
instaUnfollow
Check people don't follow you back on Instagram.
Stars: ✭ 50 (+194.12%)
Mutual labels:  instagram
chatbot
kbqa task-oriented qa seq2seq ir neo4j jena seq2seq tf chatbot chat
Stars: ✭ 32 (+88.24%)
Mutual labels:  chatbot
Hutoma-Conversational-AI-Platform
Hu:toma AI is an open source stack designed to help you create compelling conversational interfaces with little effort and above industry accuracy
Stars: ✭ 35 (+105.88%)
Mutual labels:  chatbot
tf2-transformer-chatbot
Transformer Chatbot in TensorFlow 2 with TPU support.
Stars: ✭ 94 (+452.94%)
Mutual labels:  chatbot
rasa-agent-bot-demo
A sample Implementation of agent bot APIs in chatwoot using rasa
Stars: ✭ 21 (+23.53%)
Mutual labels:  chatbot

WARNING

This repository is no longer mantained. Using of Instagram bots may cause blocking of your profile.

instachatbot

CI PyPI version

Simple framework for building Instagram chat bots with menu driven interface

Installation

pip3 install instachatbot

To install development version:

pip3 install git+https://github.com/art-vasilyev/instachatbot.git

How to use

Create sample script main.py:

from instachatbot.bot import InstagramChatBot
from instachatbot.nodes import (
    MenuNode, MenuItem, MessageNode, QuestionnaireNode, NotifyAdminNode)

menu = MenuNode(
    '💡Choose menu:\n',
    [
        MenuItem(
            'text message',
            MessageNode('This is a message😀')),
        MenuItem(
            'questionnaire',
            QuestionnaireNode(
                [
                    'What is your favourite book? 📚',
                    'What is your favourite fruit? 🍐 🍊 🍋'
                ],
                header='Please answer the following questions',
                admin_username='<user to send results to>',
                response='Thank your for your answers')),
        MenuItem(
            'send notification to admin',
            NotifyAdminNode(
                'Thank you',
                notification='Sample notification from bot user',
                admin_username='<username to send notification to>'
            )
        ),
    ],
    error_message='Failed to select menu.'
)

chatbot = InstagramChatBot(menu=menu)
chatbot.login(
    username='<instagram-username>',
    password='<instagram-password>')
chatbot.start()

Run the script:

python3 main.py

Persistent conversation state

By default conversation state is discarded on bot restart, to make it persistent you should provide persistent storage on bot initialization:

chatbot = InstagramChatBot(menu=menu, storage=FileStorage())

Menu triggers

By default a bot sends the menu on any message it receives. If you want menu to appear only if bot receives special message, set trigger argument on bot initialization:

chatbot = InstagramChatBot(menu=menu, trigger='/menu')

Examples

Nested menu example:

menu = MenuNode(
	'Main menu:\n',
	[
		MenuItem(
			'Send message to admin',
			MenuNode(
				'Are you sure want to send message?',
				[
					MenuItem(
						'Yes',
						NotifyAdminNode(
						    'Thank you',
						    notification='Sample notification from bot user',
						    admin_username='<username to send notification to>'
						)
					),
					MenuItem(
						'No',
						MessageNode('Canceled message sending.')
					),
				],
			)
		)
	],
	error_message='Failed to select menu.'
)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].