diff --git a/README.md b/README.md index 686aa30..2abffb1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Welcome to [Instabot](https://github.com/instagrambot/) Documentation! -Available languages: [🇬🇧](en/README.md) [🇷🇺](ru/README.md) [🇮🇹](it/README.md) [🇺🇦](ukr/README.md) [🇪🇸](es/README.md) [🇰🇷](kr/README.md) +Available languages: [DE](de/README.md) [🇬🇧](en/README.md) [🇷🇺](ru/README.md) [🇮🇹](it/README.md) [🇺🇦](ukr/README.md) [🇪🇸](es/README.md) [🇰🇷](kr/README.md) diff --git a/de/FAQ.md b/de/FAQ.md new file mode 100644 index 0000000..9b2d335 --- /dev/null +++ b/de/FAQ.md @@ -0,0 +1,98 @@ +# Häufige Fragen über das Instabot + +### Wie installiere ich das Instabot? + +Die Installation ist abhängig von deinem Betriebssystem. [Installation für Windows](Installation_on_Windows.md). [Installation für Unix] (Installation_on_Unix.md) (Linux, MacOS). + +Alle erforderlichen Schritte, wie z.B. die Installation des Bots, werden durch die Eingabeaufforderung durchgeführt (das Terminal / CMD). Keine Angst davor - daran ist nichts kompliziert. + +### Wie starte ich das Bot? + +Zunächst musst du es installieren. Gehe hiernach in den Beispiel-Ordner und starte eines der Skripte mithilfe der Eingabeaufforderung, zum Beispiel: + +``` python +python multi_script_CLI.py +``` +Wenn das Skript weitere Parameter benötigt zum Starten (wie zum Beispiel Hashtags zum Liken), wird es dir im Terminal angezeigt. Im Falle von like_hashtags.py wäre das Output: + +``` +Usage: Pass hashtags to like +Example: python like_hashtags.py dog cat +``` + +Es wird sofort ersichtlich, wie mit dem Bot zu arbeiten ist. Wenn du beispielsweise die neuesten Inhalte mit dem Hashtag **#katze** oder **#hund** liken willst, dann: + +``` python +python like_hashtags.py katze hund +``` + +### Wo muss ich meinen Usernamen und mein Passwort eingeben? + +Das lässt sich nicht genauer spezifizieren: Das Bot selber wird dich hiernach fragen, wenn es das erste Mal gestartet wird. Deine Daten werden in einer Text-Datei secret.txt gespeichert und automatisch verwendet bei zukünftiger Benutzung. Du kannst +sie aber auch manuell eingeben durch: + +``` python +bot.login(username=«mein_username», password=«mein_passwort») +``` + +Hinzu kommt, dass du beim ersten Start deines Bots mehrere Accounts hinzufügen kannst. Für zukünftige Fälle kannst du dann auswählen, welche Accounts du nutzen willst. + +### Wenn ich mein Passwort eingebe, wird es nicht angezeigt. Was tun? + +Das Passwort wird nicht angezeigt, damit es nicht von anderen ausgesphät werden kann. Keine Sorge, es wird korrekt erfasst. Wenn du versehentlich ein falsches Passwort eingegeben hast, wird es beim nächsten Start automatisch erkannt und du wirst erneut nach einer Eingabe gefragt. + +### Wenn ich die Login-Daten und mein Passwort für meinen Instagram-Account eingebe, wohin gehen die Daten? Sind die Daten für andere ersichtlich? + +Die eingegebenen Daten werden lokal in deinem Computer in einer secret.txt Textfile gespeichert. Sie werden keinen unbefugten Dritten zur Verfügung gestellt. + +### Wird mein Account gesperrt? + +Keine Sorge! Das Instabot hat bestimmte Grenzen was die Anzahl der Abos / Likes / Kommentare pro Tag angeht sowie die Frequenz der Anfragen - zum Beispiel werden andere Seiten nicht zu hastig abonniert. Instabot hat seine eigenen Limitationen, um es sicher zu nutzen. Du kannst auch deine eigenen Werte verwenden, aber sei hierbei vorsichtig. + +### Ist es möglich, anderen schneller zu entfolgen? Ist es sicher, schneller zu agieren? + +Es gibt Parameter für die Objekt-Klasse `instabot.Bot ()`. Wenn du den Code __milti_script_CLI__ exekutierst, öffnet sich ein Text-Editor mit einem vordefinierten Wert __unfollow_delay = 30__. Du kannst diesen Wert beliebig ändern. Analog hierzu kannst du mit anderen Parametern verfahren. Dies kann allerdings unsicher sein! + +Wenn du beispielsweise 100 Leute pro Sekunde entfolgen willst, wirst du mit Sicherheit gesperrt. Die Bot-Grenzen sind abhängig vom Gründungsdatum und der Follow-Zahl deines Accounts. Die eingetragenen Werten sind _für die meisten_ sicher. Bislang wurde noch niemand gesperrt. + +### Ich möchte, dass das Bot Accounts entfolgt, die mir nicht zurückfolgen + +Für diese Aufgabe haben wir bereits ein Skript im Beispiel-Ordner: unfollow_non_followes.py. Öffne den Ordner und führe das Skript mittels Eingabeauffoderung durch. + +``` python +python unfollow_non_followers.py +``` + +### I möchte, dass das Bot Beiträge liked, die ich selber ausgesucht habe + +Auch das ist sehr einfach! Führe like_hashtags.py durch mithilfe der folgenden Zeile im Terminal: + +``` python +python like_hashtags.py autos geld +``` + +### Zu viele Skripts! Gibt es ein Alles-in-einem-Skript? + +Den gibt es. Dank der Bemühungen unserer Community wurde ein sehr cooles Skript geschrieben. Du kannst es unter [multi_script_CLI.py](/examples/multi_script_CLI.py) finden. Es ist auf Englisch, aber sehr gut verfasst. Du solltest es wirklich ausprobieren! + +### Wie kann ich das automatische Posten von Fotos bei Instagram einstellen? + +Hierfür haben wir ein Skript in [examples](/examples/autopost). Weiter unten auf der Seite findest du eine Anleitung zur Konfiguration des automatischen Postings. + +### AutoPost veröffentlicht lediglich ein Foto oder eine Beschreibung. Wie kann ich Hashtags hinzufügen? + +Hashtags funktionieren genauso wie Beschreibungen - füge sie hier einfach hinzu! + +### Kann ich Videos automatisch posten lassen? + +Leider nicht. Das würde die Größe des Projektes dramatisch erhöhen. + +### Wie kann ich bei diesem Projekt helfen? + +Du kannst: +* einen Stern in Github hinzufügen. Um dies zu tun, klicke ganz einfach auf den Stern auf der Seite https://github.com/instagrambot (oben rechts). Du musst dich hierfür ggf. (gratis) registrieren. +* Log dich in die [Telegram Gruppe](https://t.me/instabotproject) ein und helfe Anfängern, die Installation und Konfiguration des Instabots zu verstehen! +* Teile uns deine Meinung über das Projekt mit anderen! Du kannst hierfür den folgenden Link teilen: https://instagrambot.github.io. +* Wenn du Fehler oder Bugs findest, teile uns das in [Probleme und Bugs](https://github.com/instagrambot/instabot/issues) mit. Stelle sicher, dass du _Screenshots_ und _Kommandos_ hinzufügst. Dies hilft uns, die Fehler zu korrigieren und das Instabot zu verbessern! +* Wenn du ein Entwickler bist, korrigiere die Fehler! Mach das mithilfe eines Pull Request gemäß den PEP8 Standards. +* Um unser Projekt weiterzuenwickeln: [Seite](https://github.com/instagrambot/instagrambot.github.io). Wir benötigen Web-Designer und Frontend-Entwickler. Wenn du schon immer etwas aus dem Nichts erstellen wolltest, bist du herzlich willkommen! diff --git a/de/Filtration.md b/de/Filtration.md new file mode 100644 index 0000000..384da71 --- /dev/null +++ b/de/Filtration.md @@ -0,0 +1,37 @@ +# Wie filtert Instabot Leute aus? + +Es ist kein Geheimnis, dass das Instabot Leute ausfiltert bevor er ihnen folgt. Weiter unten findest du eine komplette Liste an Bedingungen, die für den Filterprozess zutrage kommen. + +## Optionen + +Zunächst einmal sollte erwähnt werden, dass du alle Optionen selber verändern kannst. Nachfolgend findest du alle Parameter der Bot-Anweisungen, die für die Filterung relevant sind. Die mit einem Hashtag "#" markierten Kommentare sind lediglich für das Verständnis vonnöten und kein Teil des Programmcodes. + +``` python +bot = Bot(max_likes_to_like=100, # Erklärung: maximale Anzahl der Likes bei 100 + max_followers_to_follow=2000, # Erklärung: maximale Anzahl an Leuten, denen gefolgt werden soll (=200) + min_followers_to_follow=10, # Erklärung: minimale Anzahl an Leuten, denen gefolgt werden soll (= 10) + max_following_to_follow=10000, # Erklärung: maximale Gesamtanzahl an Followern (=10000) + min_following_to_follow=10, # Erklärung: minimale Anzahl an Followern (=10) + max_followers_to_following_ratio=10, # Erklärung: maximales Verhältnis von Followern zu gefolgten Personen (=10), d.h. die Zahl der Followern darf maximal 10x so groß sein wie die Anzahl der Leute, denen du folgst + max_following_to_followers_ratio=2, # Erklärung: maximales Verhältnis von gefolgten Personen zu Followern (=2), d.h. die Zahl der gefolgten Personen darf maximal doppelt so groß sein wie die Anzahl der Followern + min_media_count_to_follow=3, # Erklärung: Mindestanzahl an medialen Inhalten, denen gefolgt wird (=3) + stop_words=['shop', 'store', 'free']) +``` +Wenn du die Werte für dich selber anpassen willst, modifiziere einfach die Zahlenangaben in der Funktion `bot = Bot ()` nach deinen Wünschen. + +## User-Filterung + +_Notation_: True - bedeutet, dass du abonnieren kannst, False - bedeutet, dass du es nicht kannst für folgende Konditionen: +* Wenn die Whitelist-Filterung "True" ist +* Wenn die Blacklist-Filterung "False" ist +* Wenn du bereits abonniert hast - "False" +* Wenn Business-Account "False" ist +* Wenn der bestätigte Account "False" ist +* Wenn die Anzahl an Followern kleiner ist als min_followers_to_follow - False +* Wenn die Anzahl an Followern größer ist als max_followers_to_follow - False +* Wenn die Anzahl an Follows kleiner ist als min_following_to_follow - False +* Wenn die Anzahl an Follows größer ist als max_following_to_followers_ratio - False +* Wenn das Verhältnis zwischen Follows / Followern größer ist als max_followers_to_following_ratio - False +* Wenn die Anzahl an Medieninhalten kleiner ist als min_media_count_to_follow - False, +* Wenn mindestens ein Stopp-Wort der stop_words Liste vorkommt im Namen oder in der Beschreibung (- False) +* Wenn es immer noch nicht gefiltert ist - True diff --git a/de/For_developers.md b/de/For_developers.md new file mode 100644 index 0000000..5b0abf1 --- /dev/null +++ b/de/For_developers.md @@ -0,0 +1,469 @@ +# Documentation for Developers + +This is documentation for developers, where we provide our bot methods as an API for your needs. Instagram API [deprecated](https://www.instagram.com/developer/changelog/) practically all of their methods, so we use their mobile API. We are hiding under the mask of mobile phone. Instagram servers think that your requests from instabot are made from some mobile app. By the way we got some cases of ban by them, our mask is not perfect. We are hardly trying to make your requests as safe as they could be. For example, we restricted the amount of likers of some picture til 999. + +By the way we hardly recommend you not to use your own account if you don't need your personal data or don't want to promote your account. + +# Contents + +- [Intro](#Intro) +- [Contents](#Contents) +- [Quickstart](#Quickstart) +- [Bot parameters](#Params) +- [Bot Methods](#Methods) + + [Auth](#Auth) + + [login](#login) + + [logout](#logout) + + [IDs](#ids) + + [get_user_id_from_username](#get_user_id_from_username) + + [get_username_from_user_id](#get_username_from_user_id) + + [get_media_id_from_link](#get_media_id_from_link) + + [get_link_from_media_id](#get_link_from_media_id) + + [Get medias](#getmedias) + + [get_user_medias](#get_user_medias) + + [get_your_medias](#get_your_medias) + + [get_timeline_medias](#get_timeline_medias) + + [get_total_user_medias](#get_total_user_medias) + + [get_hashtag_medias](#get_hashtag_medias) + + [get_geotag_medias](#get_geotag_medias) + + [Get users](#getusers) + + [get_timeline_users](#get_timeline_users) + + [get_hashtag_users](#get_hashtag_users) + + [get_geotag_users](#get_geotag_users) + + [get_user_followers](#get_user_followers) + + [get_user_following](#get_user_following) + + [get_media_likers](#get_media_likers) + + [get_media_commenters](#get_media_commenters) + + [Comments](#comments) + + [get_media_comments](#get_media_comments) + + [get_media_comments_all](#get_media_comments_all) + + [get_comment](#get_comment) + + [comment](#comment) + + [comment_medias](#comment_medias) + + [comment_hashtag](#comment_hashtag) + + [comment_geotag](#comment_geotag) + + [comment_users](#comment_users) + + [is_commented](#is_commented) + + [Likes](#likes) + + [like](#like) + + [like_medias](#like_medias) + + [unlike](#unlike) + + [unlike_medias](#unlike_medias) + + [like_timeline](#like_timeline) + + [like_user](#like_user) + + [like_hashtag](#like_hashtag) + + [like_geotag](#like_geotag) + + [Follows](#follows) + + [follow](#follow) + + [follow_users](#follow_users) + + [unfollow](#unfollow) + + [unfollow_users](#unfollow_users) + + [unfollow_non_followers](#unfollow_non_followers) + + [Photos](#photos) + + [upload_photo](#upload_photo) + + [download_photo](#download_photo) + + [download_photos](#download_photos) + +## Quickstart + +For the better understanding of how bot works, let's start with a quick example: + +``` python +from instabot import Bot + + +bot = Bot() +bot.login(username="YOUR_LOGIN", password="YOUR_PASSWORD") +user_id = bot.get_user_id_from_username("lego") +user_info = bot.get_user_info(user_id) +print(user_info['biography']) +``` + +The output of program would be greeting phrase from [official LEGO account](https://www.instagram.com/lego/?hl=ru). At the time of writing documentation we got this: +``` +Hello! You made it to the official #LEGO Instagram - where everything is awesome! +``` + +## Bot Parameters + +**proxy** — Proxy for Instabot. + +Default: `None`. + +Example: `TODO` + +**max_likes_per_day** — How many likes the bot will perform per day. + +Default: 1000 + +**max_unlikes_per_day** — How many medias the bot will unlike in a day. + +Default: 1000 + +**max_follows_per_day** — Max number of follow per day. + +Default: 350 + +**max_unfollows_per_day** — Max number of unfollow per day. + +Default: 350 + +**max_comments_per_day** — Max number of comments per day. + +Default: 100 + +**max_likes_to_like** — If the media has more likes then this value — it will be ignored and not be liked. + +Default: 200 + +**filter_users** — Filter users if True. + +Default: True + +**filter_business_accounts** — Filter business accounts if True. + +Default: True + +**filter_verified_accounts** — Filter verified accounts if True. + +Default: True + +**max_followers_to_follow** — If the user has more followers than this value — the user will not be followed or liked. + +Default: 2000 + +**min_followers_to_follow** — If the user has fewer followers than this value — the user will not be followed or liked. + +Default: 10 + +**max_following_to_follow** — If the user has more followings than this value — the user will not be followed or liked. + +Default: 10000 + +**min_following_to_follow** — If the user has fewer followings than this value — the user will not be followed or liked. + +Default: 10 + +**max_followers_to_following_ratio** — if the user's followers/following is greater than this value — the user will not be followed or liked. + +Default: 10 + +**max_following_to_followers_ratio** — if user's following/followers is greater than this value — he will not be followed or liked. + +Default: 2 + +**min_media_count_to_follow** — If the user has fewer media count than this value — the user will not be followed. + +Default: 3 + +**max_following_to_block** — If the user have a following more than this value — the user will be blocked in blocking scripts because he is a massfollower. + +Default: 2000 + +**max_likes_to_like** — Max number of likes that can media have to be liked. + +Default: 100 + +**like_delay** — Delay between likes in seconds. + +Default: 10 + +**unlike_delay** — Delay between unlikes in seconds. + +Default: 10 + +**follow_delay** — Delay between follows in seconds. + +Default: 30 + +**unfollow_delay** — Delay between unfollows in seconds. + +Default: 30 + +**comment_delay** — Delay between comments in seconds. + +Default: 60 + +**whitelist** — Path to the file with users that shouldn't be unfollowed. + +Default: `whitelist.txt` + +**blacklist** — Path to the file with users that shouldn't be followed, liked or commented. + +Default: `blacklist.txt` + +**comments_file** — Path to the comments database. + +Default: `comments.txt` + +**base_path** — Base directory path for local files such as comments_file, blacklist, whitelist, etc.. + +Default: `./` + +**stop_words** — A list of stop words: don't follow a user if they have any of these stop words in their description. + +Default: ['shop', 'store', 'free'] + +--- + +In all files there are one item per line. So, file: +``` python +Nice! +Great! +Good pic! +``` +You should read as `["Nice!", "Great!", "Good pic!"]` + +# Bot Methods + +Methods of `Bot` instance, that you could use as API calls. + +### Auth + + **login** — Method that authenticates you in Instagram. + +Parameters: + +- _login_, _password_ — you could pass login and password and bot would use them. Bot would ask you for them by default. +- _force_ — forses bot to re-login. False by default. +- _proxy_ — proxy server that bot would use during authentication. +- *use_cookie* — means that bot would use cookies not to re-login every time it needs to push some request. Defaults as True. +- *cookie_fname* — filename where cookies would be stored. Default value: `cookie.txt`. + +Example: `bot.login(username="YOUR_LOGIN", password="YOUR_PASSWORD")` + + **logout** — Loggs you out. + +### IDs + + **get_user_id_from_username** — Get `user_id` by username. + +Parameters: + +- _username_ — a string with user's Instagram username. + +Example: `bot.get_you_medias("lego")` + +Result: `196743444` + + **get_username_from_user_id** — Get username by `user_id`. + +Parameters: + +- *user_id* — Id of user that you want to fetch. See [get_user_id_from_username](#get_user_id_from_username). + +Example: `bot.get_you_medias("196743444")` + +Result: `lego` + + **get_media_id_from_link** — Get `media_id` by link on some Instagram post. + +Parameters: + +- _link_ — a string with a valid link on Instagram post. + +Example: `bot.get_media_id_from_link("https://www.instagram.com/p/BryhSSgDEI5/")` + +Result: `1941760781700579897` + + + **get_link_from_media_id** — Get link on some Instagram post by `media_id`. + +Parameters: + +- *media_id* — See [get_media_id_from_link](#get_media_id_from_link) + +Example: `bot.get_media_id_from_link(1941760781700579897)` + +Result: `https://www.instagram.com/p/BryhSSgDEI5/` + +### Get medias + + **get_user_medias** — Get list of 20 last user's medias. + +Parameters: + +- *user_id* — Id of user that you want to fetch. See [get_user_id_from_username](#get_user_id_from_username). +- *filtration* — Bot would filter those publications, witch are not satisfies bot parameters as `max_likes_to_like` and `min_likes_to_like`. All medias between them would be displayed. Defaults as True. +- *is_comment* — Filtration of medias that has/hasn't a comment. + +Example: `bot.get_user_medias("lego")` + +Result: `[1900986973457183396, 1900986921481250054]` + + **get_your_medias** — Get list of ids of your last medias. + +Parameters: + +- _as_dict_ — With parameter as_dict=True returns media as dict. False by default. + +Example: `bot.get_you_medias()` + +Result: `[1900986973457183396, 1900986921481250054]` + + **get_timeline_medias** — Get list of media_ids from your timeline feed. + +Example: `bot.get_timeline_medias()` + +Result: `[1900986973457183396, 1900986921481250054]` + + **get_total_user_medias** — Same as [get_user_medias](#get_user_medias), but fetches all of user's medias. + +Parameters: + +- *user_id* — Id of user that you want to fetch. See [get_user_id_from_username](#get_user_id_from_username). + + **get_hashtag_medias** — Get list of medias by hashtag. + +Example: `bot.get_hashtag_medias("cats")` + +Result: `[1900986973457183396, 1900986921481250054]` + + **get_geotag_medias** — Get list of medias by geotag. + +Example: `TODO` + +### Get users + + **get_timeline_users** — Get list of users from your timeline feed. + +Example: `TODO` + + **get_hashtag_users** — Get list of users who posted with hashtag. + +Example: `TODO` + + **get_geotag_users** — Get list of users who posted with geotag. + +Example: `TODO` + + **get_user_followers** — Get list of user's followers. + +Parameters: + +- *user_id* — Id of user that you want to fetch. See [get_user_id_from_username](#get_user_id_from_username). + +Example: `bot.get_user_followers("lego")` + +Result: `['6976090614', '4828850852', '6986373483', '7139262982']` + + **get_user_following** — Get list of user's following. + +Parameters: + +- *user_id* — Id of user that you want to fetch. See [get_user_id_from_username](#get_user_id_from_username). + +Example: `bot.get_user_following("lego")` + +Result: `['1501782303', '871819364', '4804628891', '45786877']` + + **get_media_likers** — Get list of media likers + +Parameters: + +- *media_id* — Id of post in Instagram that you want to fetch. See [get_media_id_from_link](#get_media_id_from_link). + +Example: `bot.get_media_likers("1941760781700579897")` + +Result: `['6976090614', '4828850852', '6986373483', '7139262982']` + + **get_media_commenters** — Get list of users who commented on the media + +Example: `bot.get_media_commenters("1941760781700579897")` + +Result: `['6976090614', '4828850852', '6986373483', '7139262982']` + +### Comments + + **get_media_comments** — Get list of 20 latest media's comments + +Parameters: + +- *media_id* Id of post in Instagram that you want to fetch. See [get_media_id_from_link](#get_media_id_from_link). +- *only_text* — option to get list with only text of each comment without additional information. Defaults as False. + +Example: `bot.get_media_comments("1941760781700579897")` +Result is a list of such objects: +``` +{'pk': 17848187965317794, 'user_id': 5726722318, 'text': 'Come glasgow', 'type': 0, 'created_at': 1545772239, 'created_at_utc': 1545772239, 'content_type': 'comment', 'status': 'Active', 'bit_flags': 0, 'user': {'pk': 5726722318, 'username': 'dj_gramm', 'full_name': 'KingJellyIG', 'is_private': True, 'profile_pic_url': 'https://scontent-iad3-1.cdninstagram.com/vp/b7e6505312f276c551b9b27c784d8080/5CB5D7D8/t51.2885-19/s150x150/46878995_2733544636871740_4791338569069232128_n.jpg?_nc_ht=scontent-iad3-1.cdninstagram.com', 'profile_pic_id': '1943181535717308400_5726722318', 'is_verified': False}, 'did_report_as_spam': False, 'share_enabled': False, 'has_liked_comment': False, 'comment_like_count': 0, 'inline_composer_display_condition': 'never'} +``` + + **get_media_comments_all** — Same as [get_media_comments](#get_media_comments), but with all comments. + + **get_comment** — Get comment from comment file + +Example: `bot.get_comment(17848187965317794)` +Result is a comment object: +``` +{'pk': 17848187965317794, 'user_id': 5726722318, 'text': 'Come glasgow', 'type': 0, 'created_at': 1545772239, 'created_at_utc': 1545772239, 'content_type': 'comment', 'status': 'Active', 'bit_flags': 0, 'user': {'pk': 5726722318, 'username': 'dj_gramm', 'full_name': 'KingJellyIG', 'is_private': True, 'profile_pic_url': 'https://scontent-iad3-1.cdninstagram.com/vp/b7e6505312f276c551b9b27c784d8080/5CB5D7D8/t51.2885-19/s150x150/46878995_2733544636871740_4791338569069232128_n.jpg?_nc_ht=scontent-iad3-1.cdninstagram.com', 'profile_pic_id': '1943181535717308400_5726722318', 'is_verified': False}, 'did_report_as_spam': False, 'share_enabled': False, 'has_liked_comment': False, 'comment_like_count': 0, 'inline_composer_display_condition': 'never'} +``` + +### Likes + + **like** — Like media_id. + +Example: `bot.like("1231241210")` + + **like_medias** — Like medias from list. + +Example: `bot.like_medias(["1323124", "123141245"])` + + **unlike** — Remove like from media. + +Example: `bot.unlike("12321412512")` + + **unlike_medias** — Remove likes from medias in list + +Example: `bot.unlike_medias(["123", "321"])` + + **like_timeline** — Like medias from your timeline feed + +Example: `bot.like_timeline()` + + **like_user** — Like last user's medias + +Example: `bot.like_user("activefollower")` + + **like_hashtag** — Like last medias with hashtag. + +Example: `bot.like_hashtag("dog")` + + **like_geotag** — Like last medias with geotag + +Example: `TODO` + +### Follows + + **follow** — Follow user. + +Example: `bot.follow("activefollower")` + + **follow_users** — Follow users from list. + +Example: `bot.follow(["activefollower1", "activefollower2"])` + + **unfollow** — Unfollow user. + +Example: `bot.unfollow("competitor")` + + **unfollow_users** — Unfollow users from list. + +Example: `bot.unfollow_users(["competitor1", "competitor2"])` + + **unfollow_non_followers** — Unfollow users who don't follow you. + +Example: `bot.unfollow_non_followers()` + +### Photos + + **upload_photo** — Uploads photo to your account. + +Example: `bot.upload_photo("/somephoto.jpg", caption="Nice pic!")` + + **download_photo** — Downloads photo by id. + +Example: `bot.download_photo(["123", filename="somefile.jpg")` + + **download_photos** — Downloads photos by ids into given folder. + +Example: `bot.download_photos(["123","345"], "photos")|` diff --git a/de/How_to_use.md b/de/How_to_use.md new file mode 100644 index 0000000..007e5db --- /dev/null +++ b/de/How_to_use.md @@ -0,0 +1,135 @@ +# Anleitungen zur Nutzung + +**Wichtig! Lies die dir Anleitungen von Anfang bis zum Ende sorgfältig durch um das Bot zu starten. Viel Glück!** + +## Wie funktioniert es? + +Du benötigst eines der heruntergeladenen Projekte. Im ***instabot/examples/*** Ordner sind fertige Skripts, mit denen du arbeiten kannst. + +## Wie führe ich das Skript durch? + +Öffne die Eingabeaufforderung, nutze ***cd*** um zum korrekten Ordner-Pfad zu gelangen (dessen Name ***instabot/examples*** lautet). Gib ein: + +``` python +python name.py param +``` + +Wobei ***name*** der Name des Skriptes ist und ***param*** der benötigte Parameter, um das Skript zu starten. Nicht jedes Skript benötigt zusätzliche Parameter. + +## Woher weiß ich, ob ich Parameter eingeben muss für das Skript? + +Führe das Skript durch mithilfe des folgenden Befehls: + +``` python +python name.py +``` + +Falls weitere Parameter benötigt werden, wird das Skript stoppen und dir eine Nachricht anzeigen, welche Parameter benötigt werden. + +Beispiel. +Führe das folgende Skript durch: + +``` python +python like_hashtags.py. +``` +Das Skript stoppt und zeigt folgende Fehlernachricht: + +``` python +error: the following arguments are required: hashtags. +``` + +Das heißt, wir benötigen Hashtags als Parameter. Um dies zu korrigieren: + +``` python +python like_hashtags.py folgen +``` + +## All-inklusiv + +***multi_script_CLI.py*** ist ein Skript mit allen Funktionen. Wenn du es das erste Mal startest, wirst du nach der Konfiguration gefragt. Die Einstellungen sind in der ***setting.txt*** Datei zu finden. Es werden zudem die folgenden Dateien erstellt: ***hashtag_file.txt, users_file.txt, whitelist.txt, blacklist.txt, comment.txt*** + +## 24/7 + +Ja, es gibt ein Skript, das rund um die Uhr Leuten folgt und entfolgt sowie Fotos durch Nickanmen und Hashtags liked. Dies wird alles durch das Skript ***ultimate.py*** erledigt. + +## Zeitplanung + +Es gibt ebenfalls ein Skript, das nach deiner persönlichen Zeitplanung läuft. Das Skript heißt ***ultimate.py*** im ***instabot/examples/ultimate_schedule*** Ordner. Du kannst es öffnen und den Code mit jedem Editor (z.B. Texteditor) bearbeiten und anpassen. Da es bereits Kommentare im wichtigen Teil des Codes gibt, sollte dir das leicht fallen! + +## Wie konfiguriere ich das Skript korrekt + +Um sicherzugehen, dass dein Account nicht gesperrt wurde, musst du das Skript konfigurieren. Sagen wir du möchtest Fotos bestimmter Hashtags jede Minute liken. Zunächst benötigen wir die Zeit in Sekunden. Öffne ***like_hashtags.py*** mit einem Texteditor. Finde die richtige Zeile des Programmcodes. Es sollte folgendermaßen aussehen: + +``` python +bot = Bot() +bot.login(username=args.u, password=args.p, + proxy=args.proxy) +``` + +Als nächstes finden wir: + +``` python +bot = Bot() +``` + +Wir müssen einen Parameter in die Klammern einfügen. Dieser Parameter lautet ***like_delay***. Wir setzen den Wert auf 60, weil wir im Minutenabstand Fotos bestimmter Hashtags liken möchten. Am Ende würde es folgendermaßen aussehen. + +``` python +bot = Bot(like_delay=60) +bot.login(username=args.u, password=args.p, + proxy=args.proxy) +``` + +## Parameter-Liste + +| Parameter| Beschreibung | Beispiel | +| ------------- |:-------------:| ------:| +| proxy | Proxy for Instabot | None| +| max_likes_per_day| How many likes the bot will perform per day| 1000| +| max_unlikes_per_day | How many medias the bot will unlike in a day| 1000| +| max_follows_per_day| Max number of follow per day| 350| +| max_unfollows_per_day| Max number of unfollow per day| 350| +| max_comments_per_day| Max number of comments per day| 100| +| max_likes_to_like| If the media has more likes then this value - it will be ignored and not be liked | 200| +| filter_users | Filter users if True | True| +| max_followers_to_follow| If the user has more followers than this value - the user will not be followed or liked. | 2000| +| min_followers_to_follow| If the user has fewer followers than this value - the user will not be followed or liked.| 10| +| max_following_to_follow| If the user has more followings than this value - the user will not be followed or liked.| 10000| +| min_following_to_follow| If the user has fewer followings than this value - the user will not be followed or liked.| 10| +| max_followers_to_following_ratio| if the user's followers/following is greater than this value - the user will not be followed or liked.| 10| +| max_following_to_followers_ratio| if user's following/followers is greater than this value - he will not be followed or liked.| 2| +| min_media_count_to_follow| If the user has fewer media count than this value - the user will not be followed. | 3| +|max_following_to_block|If the user have a following more than this value - the user will be blocked in blocking scripts because he is a massfollower| 2000| +| max_likes_to_like | Max number of likes that can media have to be liked | 100 | +| like_delay | Delay between likes in seconds| 10| +| unlike_delay | Delay between unlikes in seconds | 10| +| follow_delay | Delay between follows in seconds| 30| +| unfollow_delay | Delay between unfollows in seconds| 30| +| comment_delay | Delay between comments in seconds| 60| +| whitelist | Path to the file with users that shouldn't be unfollowed| "whitelist.txt"| +| blacklist | Path to the file with users that shouldn't be followed, liked or commented | "blacklist.txt"| +| comments_file | Path to the comments database | "comments.txt" | +| stop_words| A list of stop words: don't follow a user if they have any of these stop words in their description| ['shop', 'store', 'free']| + + + + + + + + + + + + + + + + + + + + + + + diff --git a/de/Installation_on_Unix.md b/de/Installation_on_Unix.md new file mode 100644 index 0000000..e9f3416 --- /dev/null +++ b/de/Installation_on_Unix.md @@ -0,0 +1,29 @@ +# Wie installiere ich das Bot in Unix? (Linux, macOS) +* Öffne das Terminal und führe folgenden Befehl durch: +``` +pip install -U instabot +git clone https://github.com/instagrambot/instabot --recursive +cd instabot/examples +``` + +* Hiernach kannst du jedes fertige Skript in analoger Weise exekutieren: +``` +python multi_script_CLI.py +``` + +## Fehler + +* Wenn du den Fehler `pip: command not found` erhältst, versuche bitte folgendes: +``` +sudo easy_install pip +``` + +* Wenn du die Nachricht `permission denied` erhältst, nachdem du `pip install -U instabot` eingegeben hast, versuche: +``` +sudo pip install -U instabot +``` + +* Wenn du immer noch die Nachricht `permission denied` erhältst, nachdem du `sudo pip install -U instabot` eingegeben hast, versuche den folgenden Befehl: +``` +sudo -H pip install -U instabot +``` diff --git a/de/Installation_on_Windows.md b/de/Installation_on_Windows.md new file mode 100644 index 0000000..86a9ce1 --- /dev/null +++ b/de/Installation_on_Windows.md @@ -0,0 +1,43 @@ +# Installationsanleitung für Windows + +**Wichtig! Lies die dir Anleitungen von Anfang bis zum Ende sorgfältig durch um das Bot zu starten. Viel Glück!** + +## Installiere Python 3 + +1. Öffne die Seite [website](https://www.python.org/downloads/). +2. Wähle die Version, die zu dir passt (abhängig vom Betriebssystem). +3. Download. +4. Führe den Installer durch. +5. Folge den Anweisungen des Installers. Klicke "Add Python 3.x to Path" und wähle "Installiere jetzt". Wenn du ein fortgeschrittener Anwender bist, wähle "Customized Installation". + +![Install Python 3 and add to PATH](../img/install_python_on_Windows.PNG "Install Python 3 and add to PATH"). + +## Download ein Projekt von GitHub + +Es gibt zwei Optionen, um ein Projekt herunterzuladen: + +a) Klicke auf den Link https://github.com/instagrambot/instabot. Klick auf "Clone or download" und hiernach auf "Download ZIP". Entpacke die ZIP-Datei. +b) Installiere den Git-Clienten: +1. Gehe zu Git [site](https://git-scm.com/downloads). +2. Wähle die Version, die zu dir passt (abhängig vom Betriebssystem). +3. Download. +4. Führe den Installer durch. +5. Folge den Anweisungen des Installers (klicke auf "Weiter"). Wenn du ein fortgeschrittener Anwender bist, kannst du den Clienten manuell installieren. +6. Nach erfolgreicher Installation öffne die Eingabeaufforderung. +7. In der Eingabeaufforderung gib folgendes ein: + +``` bash +git clone https://github.com/instagrambot/instabot --recursive +``` +Und drücke Enter. + +***Herzlichen Glückwunsch! Du hast das Projekt erfolgreich heruntergeladen!*** + +## Installiere Instabot in einer virtuellen Python-Umgebung. + +In der Eingabeaufforderung, gib ein: + +``` python +pip install -U instabot +``` +Und drücke "Enter". diff --git a/de/README.md b/de/README.md new file mode 100644 index 0000000..e5df4b9 --- /dev/null +++ b/de/README.md @@ -0,0 +1,43 @@ +# Instabot + +Coole Instagram-Skripte für Promotion und API Adapter. Geschrieben in Python. + +![Instabot ist besser als andere open-source bots!](../img/instabot_3_bots.png "Instabot ist besser als andere open-source bots!") + +___ +[![Telegram Chat](https://img.shields.io/badge/chat%20on-Telegram-blue.svg)](https://t.me/joinchat/AAAAAEHxHAtKhKo4X4r7xg) +[![Build Status](https://travis-ci.org/instagrambot/instabot.svg?branch=master)](https://travis-ci.org/instagrambot/instabot) + +Wie du vielleicht weißt, hat Instagram seine API im Sommer 2016 geschlossen. Dieses Python-Modul kann dieselben Dinge ohne Mühen. + +## Was ist das für ein Projekt? + +Instabot ist ein Modul für die Programmiersprache Python, welcher nicht nur den Adapter über die Instagram API implementiert, sondern auch noch viele weitere Funktionen aufweist wie z.B. "folge einer Listen von Leuten", "like Fotos nach Hashtags", "entfolge Personen, die nicht zurückfolgen" und so weiter. Instabot ist sehr smart programmiert: [read](Filtration.md), es filtert z.B. basierend auf bestimmten Bedingungen Leute heraus und folgt nicht blind jedem. + +## Frage eine Frage + +* Für Fehlermeldungen, verwende [page](https://github.com/instagrambot/instabot/issues) +* Wenn du Fragen hast oder deine Erfahrungen teilen möchtest, schreibe uns bitte unter [Telegram](https://t.me/instabotproject) +* Du findest Antworten auf die meistgefragtesten Fragen [hier](FAQ.md) + +## Installation + +Um die Anleitungen für die Installation des Instabots zu lesen, klicke auf die untenstehenden Links. +* Installation in [Windows](Installation_on_Windows.md), +* Installation in [Unix](Installation_on_Unix.md). + +## Wie verwende ich es? + +Lies dir die Anleitung zur Benutzung [hier](How_to_use.md) durch. + +## Update + +Da das Instabot-Projekt noch relativ jung ist und in aktiver Entwicklung, wird es in Zukunft relativ häufige Updates geben. Wenn du also mit Fehlern konfrontiert wirst, versuche das Instabot zu updaten statt es zu entfernen mit nachfolgendem Befehl. + +``` python +pip install -U instabot +``` + +## Entwickler + +Entwickler sollten die Dokumentation unter [documentation](For_developers.md) lesen. Achtung: Ausschließlich englisch-sprachig. \ No newline at end of file