diff --git a/CHANGELOG.md b/CHANGELOG.md index ceca741edd67be1a05830e3aa1e4592bfe02332f..5498df085c1e4e1c3fd8b0104d502fd7c5efc261 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,26 @@ # CHANGELOG: +## 21 aout 2019 + +**Ajouts:** +- change nickname +- kick from group +- !! new templates !! +- reinviter des gens kickés + +**fixes:** +- all templates works now + + +--- + ## 20 aout 2019 **Ajout:** -- shitpostbot5000 latest post every 30' +- shitpostbot5000 latest facebook post every 30' if activated - trigger coucou coucou -> coucoucou - can send a random image from a insta hashtag page +- change title of a thread + +--- ## 19 aout 2019 **Ajout:** @@ -15,6 +32,7 @@ ## 17 aout 2019 - Script useless/quizz.py complet +- trigger Ah, mdr, lol, xptdr, tu ma tué --- diff --git a/bot.py b/bot.py index 9287ddc3e336338bf7613ae01ec459ced81c476c..9cfac35076946d893dbd4db7adf1ad989f2fd82e 100755 --- a/bot.py +++ b/bot.py @@ -12,11 +12,13 @@ from googletrans import Translator import threading translator = Translator() + class Bot(Client): ahah_liste = ['ahah', 'mdr', 'lol', 'Mort de rire !', 'Trop marrant', 'tu m\'as tué', 'xD', 'PTDR'] what_liste = ['wat', 'What', 'Nani', 'keske', 'dafuk', 'da fuk'] quizzes = {} shitpostbot = {} + kicked = {} def onMessage(self, author_id, message_object, thread_id, thread_type, **kwargs): self.markAsDelivered(thread_id, message_object.uid) @@ -53,13 +55,15 @@ class Bot(Client): '!philo \n' + \ '!pipo\n' + \ '!rename <personne> ; <pseudo> \n' + \ + '!remove <personne> ; <raison(facultatif)> \n' + \ + '!reinvite <personne(facultatif)>\n' + \ '!kohlanta <nom>\n' + \ '!rateau \n' + \ '!maps <nom_du_lieu> <destination(facultatif)> ... not yet fully fonctionnal\n' + \ '!memes <image_name_or_url> ; <texte1> ; <texte2(facultatif)>\n' + \ '!ping \n' + \ '!translate <phrase> ; <lang_source> ; <lang_dest>\n' + \ - '!shitpostbot5000 [status|on|off|random <keyword(facultatif)>] ... ne pas utiliser PLEASE\n' + \ + '!shitpostbot5000 [status|on|off|random <keyword(facultatif)>|timer] ... ne pas utiliser PLEASE\n' + \ '!title <newtitle>\n'\ '!about -> vas-y test-moi !\n' return help_text @@ -86,12 +90,55 @@ class Bot(Client): client.changeThreadTitle(texte, thread_id=thread_id, thread_type=thread_type) # renomer qqn elif '!rename' in texte: - texte = texte.replace('!rename ', '').split(';') - for user in self.fetchAllUsersFromThreads([thread_id]): + texte = texte.replace('!rename ', '').split(' ; ') + for user in self.fetchAllUsersFromThreads([fetchThreadInfo(thread_id)[thread_id]]): if user.name == texte[0]: self.changeNickname(nickname=texte[1], user_id=user.uid, thread_id=thread_id, thread_type=thread_type) else: return random.choice(['T\'es sur de ton coup là ?', 'chais pas qui c\'est...']) + # kick qqn d'un group + elif '!remove ' in texte and thread_type == ThreadType.GROUP: + texte = texte.replace('!remove ', '').split(' ; ') + user_to_remove = None + for user in self.fetchAllUsersFromThreads([fetchThreadInfo(thread_id)[thread_id]]): + if user.name == texte[0]: + user_to_remove = user + if user.uid == author_id: + author_name = user.name + if user_to_remove is not None: + log.info("{} will be removed from {} by {}".format(user_to_remove.uid, thread_id, author_id)) + self.removeUserFromGroup(user_to_remove.uid, thread_id=thread_id) + if thread_id in Memes.kicked: + Memes.kicked[thread_id].append(user_to_remove) + else: + Memes.kicked[thread_id] = [user_to_remove] + return '{} a été kick du groupe par {} {}'.format(texte[0], author_name, 'pour la raison : {}'.format(texte[1]) if len(texte) == 2 else '') + else: + return random.choice(['T\'es sur de ton coup là ?', 'chais pas qui c\'est...']) + + # réinviter le dernier mec kické du group + elif texte == '!reinvite': + if 'thread_id' in Memes.kicked: + self.addUsersToGroup(Memes.kicked[thread_id][-1].uid, thread_id=thread_id) + elif '!reinvite ' in texte: + if 'thread_id' in Memes.kicked: + finded = False + for user in Memes.kicked[thread_id]: + if user.name == texte.replace('!reinvite ', ''): + finded = True + self.addUsersToGroup(user.uid, thread_id=thread_id) + indice = Memes.kicked[thread_id].index(user) + if finded: + # faut supprimer l'utilisateur réinvité de la liste des gens kickés + del Memes.kicked[thread_id][indice] + if len(Memes.kicked[thread_id]) == 0: + # on supprime le groupe de la liste des groupes où des gens ont étés kickés + del Memes.kicked[thread_id] + + else: + return 'Mec je l\'ai pas encore kick, mais tu peux reinviter ces gens là :\n' + "\n".join([user.name for user in Memes.kicked[thread_id]]) + else: + return 'T\'es débile ou quoi ? Je peux pas réinviter des gens que je n\'ai pas kické moi même en fait... \n\n\n Hummmm par contre je pourais éventuellement inviter des random mec...ou meuf...' # SHitpostbot5000 elif texte == '!shitpostbot5000 on': @@ -114,7 +161,7 @@ class Bot(Client): self.sendLocalImage(useless.Shitpostbot5000.random(texte), thread_id=thread_id, thread_type=thread_type) # pour rigoler - elif '!memes templates' in texte: + elif any(words in texte for words in ['!memes templates', '!memes help', '!help memes']): return useless.Memes.get_templates() elif '!memes ' in texte: texte = texte.replace('!memes ', '').split(' ; ') @@ -239,4 +286,6 @@ if __name__ == '__main__': # username = str(input("Username: ")) # client = Bot(username, getpass()) client = Bot(USERNAME, PASSWORD) + Bot.shitpostbot['1627890897259691'] = [useless.Shitpostbot5000(), ThreadType.GROUP] + Bot.shitpostbot['1627890897259691'].set_on() client.listen() diff --git a/images/memes_images/American-Chopper-Argument.jpg b/images/memes_images/American-Chopper-Argument.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d10cea5b8685182e22be6326aa309f7200df6b4 Binary files /dev/null and b/images/memes_images/American-Chopper-Argument.jpg differ diff --git a/images/memes_images/batman.jpg b/images/memes_images/batman.jpg new file mode 100644 index 0000000000000000000000000000000000000000..de08150dea8e4b7130b8bf5c05c95bf800b46d5d Binary files /dev/null and b/images/memes_images/batman.jpg differ diff --git a/images/memes_images/disastergirl.jpg b/images/memes_images/disastergirl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c101be04b37a2aa7beb7bd4dcd00dda1ea6b690 Binary files /dev/null and b/images/memes_images/disastergirl.jpg differ diff --git a/images/memes_images/doubt.jpg b/images/memes_images/doubt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fd7b79feefe005772091a43ed7f3795ce68957d3 Binary files /dev/null and b/images/memes_images/doubt.jpg differ diff --git a/images/memes_images/everywhere.jpg b/images/memes_images/everywhere.jpg new file mode 100644 index 0000000000000000000000000000000000000000..acb470b35865bb2f715e04bc2da9707f0a53a6f6 Binary files /dev/null and b/images/memes_images/everywhere.jpg differ diff --git a/images/memes_images/evil.jpg b/images/memes_images/evil.jpg new file mode 100644 index 0000000000000000000000000000000000000000..428ef72911cf6d2bd55e732c661d947ca2560660 Binary files /dev/null and b/images/memes_images/evil.jpg differ diff --git a/images/memes_images/exit.jpg b/images/memes_images/exit.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6c5d7a8d8691f24d1d4d04705911e89907dee424 Binary files /dev/null and b/images/memes_images/exit.jpg differ diff --git a/images/memes_images/hidethepain.jpg b/images/memes_images/hidethepain.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e6752b267cb7d830a3d30271c23550b058bdc58 Binary files /dev/null and b/images/memes_images/hidethepain.jpg differ diff --git a/images/memes_images/images/euh.jpg b/images/memes_images/images/euh.jpg deleted file mode 100644 index 4f873426c9f8142d106a8c7f05e8c3fdeb8f3375..0000000000000000000000000000000000000000 Binary files a/images/memes_images/images/euh.jpg and /dev/null differ diff --git a/images/memes_images/mockingspongebob.jpg b/images/memes_images/mockingspongebob.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2cdc4671729dda5091c1c984799509d398d48e3b Binary files /dev/null and b/images/memes_images/mockingspongebob.jpg differ diff --git a/images/memes_images/neverland.jpg b/images/memes_images/neverland.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5febfb40c86a815dae2de6fc81ef48ae10c7d0cb Binary files /dev/null and b/images/memes_images/neverland.jpg differ diff --git a/images/memes_images/on_the_side/badsurprise.jpg b/images/memes_images/on_the_side/badsurprise.jpg deleted file mode 100644 index 21d5e9a910b6c797765762c826b75637e8ddef2b..0000000000000000000000000000000000000000 Binary files a/images/memes_images/on_the_side/badsurprise.jpg and /dev/null differ diff --git a/images/memes_images/on_the_side/goodchoice.jpg b/images/memes_images/on_the_side/goodchoice.jpg deleted file mode 100644 index a7217d8b72bd84ea9a779276337d465f0861103e..0000000000000000000000000000000000000000 Binary files a/images/memes_images/on_the_side/goodchoice.jpg and /dev/null differ diff --git a/images/memes_images/on_the_side/nanithfuck.jpg b/images/memes_images/on_the_side/nanithfuck.jpg deleted file mode 100644 index 39cf29c77cc1ce9da99cc5ac78bcd287a0777f4b..0000000000000000000000000000000000000000 Binary files a/images/memes_images/on_the_side/nanithfuck.jpg and /dev/null differ diff --git a/images/memes_images/skepticalkid.jpg b/images/memes_images/skepticalkid.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c0fdf265f38ea44cdf7fdc6195aa46a9491bc48 Binary files /dev/null and b/images/memes_images/skepticalkid.jpg differ diff --git a/images/memes_images/specials/avengers.jpg b/images/memes_images/specials/avengers.jpg deleted file mode 100644 index c667c8faf2464a0a7efd302c43bb802889df58ea..0000000000000000000000000000000000000000 Binary files a/images/memes_images/specials/avengers.jpg and /dev/null differ diff --git a/images/memes_images/specials/boyfriend.jpg b/images/memes_images/specials/boyfriend.jpg deleted file mode 100644 index 8c125b2e41655219a79fdcfc2afe73b436ed8472..0000000000000000000000000000000000000000 Binary files a/images/memes_images/specials/boyfriend.jpg and /dev/null differ diff --git a/images/memes_images/specials/godblessings.jpg b/images/memes_images/specials/godblessings.jpg deleted file mode 100644 index bc24ee58183324a3d873498456f8ae046020adfa..0000000000000000000000000000000000000000 Binary files a/images/memes_images/specials/godblessings.jpg and /dev/null differ diff --git a/images/memes_images/specials/homer.jpg b/images/memes_images/specials/homer.jpg deleted file mode 100644 index 9ebf0269168009b10051b8de10c0b2b9456d2c19..0000000000000000000000000000000000000000 Binary files a/images/memes_images/specials/homer.jpg and /dev/null differ diff --git a/images/memes_images/specials/thanos.jpg b/images/memes_images/specials/thanos.jpg deleted file mode 100644 index 260d5c96fa615f132f3534dee276e1075495d2eb..0000000000000000000000000000000000000000 Binary files a/images/memes_images/specials/thanos.jpg and /dev/null differ diff --git a/images/memes_images/specials/trash.jpg b/images/memes_images/specials/trash.jpg deleted file mode 100644 index e548c9bc27db40a7c1e9b6e0a8c67d2edd8ac17e..0000000000000000000000000000000000000000 Binary files a/images/memes_images/specials/trash.jpg and /dev/null differ diff --git a/images/memes_images/specials/whatisthis.png b/images/memes_images/specials/whatisthis.png deleted file mode 100644 index b22a10a8ab6cd0d69e95fe94335feec99e27be96..0000000000000000000000000000000000000000 Binary files a/images/memes_images/specials/whatisthis.png and /dev/null differ diff --git a/images/memes_images/thisisnotfine.jpg b/images/memes_images/thisisnotfine.jpg index 586580763aa2cb864f5e390ead1a2e4f489d7799..f9d7bb5f81655b76a12d30bfaa88c75f6346ed50 100644 Binary files a/images/memes_images/thisisnotfine.jpg and b/images/memes_images/thisisnotfine.jpg differ diff --git a/images/memes_images/trumpsigning.jpg b/images/memes_images/trumpsigning.jpg new file mode 100644 index 0000000000000000000000000000000000000000..27dff4d4118b686028623b364cfb840668165296 Binary files /dev/null and b/images/memes_images/trumpsigning.jpg differ diff --git a/images/memes_images/twobuttons.jpg b/images/memes_images/twobuttons.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c7461161577df4bb40949f6f96f1bbdf1946cac Binary files /dev/null and b/images/memes_images/twobuttons.jpg differ diff --git a/images/memes_images/waitingskeleton.jpg b/images/memes_images/waitingskeleton.jpg new file mode 100644 index 0000000000000000000000000000000000000000..883c9830ad305d47fe6080c7ebeb92eb31db644d Binary files /dev/null and b/images/memes_images/waitingskeleton.jpg differ diff --git a/images/memes_images/whatisthis.jpg b/images/memes_images/whatisthis.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3e170ddb25bb6e119156908d73de710ee33bc192 Binary files /dev/null and b/images/memes_images/whatisthis.jpg differ diff --git a/images/memes_images/whatisthis.png b/images/memes_images/whatisthis.png deleted file mode 100644 index b22a10a8ab6cd0d69e95fe94335feec99e27be96..0000000000000000000000000000000000000000 Binary files a/images/memes_images/whatisthis.png and /dev/null differ diff --git a/sample_out.jpg b/sample_out.jpg index aaaae7e7a395c916007cc59caeb0be64d5b746f9..bc113022a7de7f856dbe35e2d5f1ffb63ea8368b 100644 Binary files a/sample_out.jpg and b/sample_out.jpg differ diff --git a/useless/memes.py b/useless/memes.py index c0f5fd7e22409f8745cf224fbc843a119b531d41..9793ff5bbf7ffdd98b6ca4d5a2ee08b621370b2f 100755 --- a/useless/memes.py +++ b/useless/memes.py @@ -13,7 +13,7 @@ import textwrap3 class Memes(object): images = { "10guy": "10guy.jpg", - "euh": "images/euh.jpg", + "euh": "euh.jpg", "gangbang": "gangbang.jpg", "killyou": "killyou.jpg", "maths": "maths.jpg", @@ -26,18 +26,32 @@ class Memes(object): "suicide": "suicide.jpg", "surprised": "suprised.jpg", "goodchoice": "goodchoice.jpg", - "nanithefuck": "nanithefuck.jpg", - "badsurprise": "badsurprise.jpg", + "nani-the-fuck": "nanithefuck.jpg", + "bad-surprise": "badsurprise.jpg", "boyfriend": "boyfriend.jpg", - "thisisfine": "thisisfine.jpg", - "thisisnotfine": "thisisnotfine.jpg", + "this-is-fine": "thisisfine.jpg", + "this-is-not-fine": "thisisnotfine.jpg", "depressing": "depressing.jpg", "avengers": "avengers.jpg", "godblessing": "godblessings.jpg", "homer": "homer.jpg", "thanos": "thanos.jpg", "trash": "trash.jpg", - "whatisthis": "whatisthis.png" + "is-this-a-pigeon": "whatisthis.jpg", + "batman-slap-robin": "batman.jpg", + "exit": 'exit.jpg', + "mocking-spongebob": 'mockingspongebob.jpg', + "two-buttons": 'twobuttons.jpg', + "waiting-skeleton": 'waitingskeleton.jpg', + "everywhere": 'everywhere.jpg', + 'hide-the-pain': 'hidethepain.jpg', + "doubt": 'doubt.jpg', + "trump-signing": 'trumpsigning.jpg', + "disaster-girl": "disastergirl.jpg", + "finding-neverland": "neverland.jpg", + "skeptical-kid": "skepticalkid.jpg", + 'american-chopper': "American-Chopper-Argument.jpg", + "evil-me": 'evil.jpg' } def __init__(self, image, text1, text2='', rep='images/memes_images/', out='sample_out.jpg'): @@ -45,8 +59,8 @@ class Memes(object): urllib.request.urlretrieve(image, "sample_in.jpg") self.fichier = "sample_in.jpg" else: - assert image in Memes.images, "Can\'t open image..." - self.fichier = rep + Memes.images[image] + assert image.strip() in Memes.images, "Can\'t open image..." + self.fichier = rep + Memes.images[image.strip()] self.text1 = text1 self.text2 = text2 self.out = out @@ -105,10 +119,14 @@ class Memes(object): @classmethod def get_templates(self): - return 'Tiens voilà la liste de mes images préenregistrées :\n' + "\n".join(Memes.images.keys()) + return 'Faut apprendre à lire un man les gars :\n !memes image_name_or_url ; texte1(OBLIGATOIRE) ; texte2(facultatif)\n\n sinon tu peux voir les templates ici : shorturl.at/bcjA8\n\n Tiens voilà la liste de mes images préenregistrées :\n' + "\n".join(Memes.images.keys()) if __name__ == '__main__': print(Memes.get_templates()) - meme1 = Memes('smart', 'test1 lol !', 'test2 mdr ?') - file = meme1.process() + for image in Memes.images: # testing every image + try: + meme1 = Memes(image, 'test1 lol !', 'test2 mdr ?') + file = meme1.process() + except: + print('erreur sur ' + image)