ADD: Modo cumpleaños apreciabot

This commit is contained in:
Roboron3042 2023-11-13 18:05:28 +01:00
parent 4efacb7e50
commit c5665da8a2
4 changed files with 16 additions and 7 deletions

View File

@ -9,6 +9,7 @@ from common import list_write
# Messages # Messages
mensaje = "Alguien que te aprecia mucho quiere recordarte que eres una persona maravillosa :ablobcatheartsqueeze: ¡Sigue así, " mensaje = "Alguien que te aprecia mucho quiere recordarte que eres una persona maravillosa :ablobcatheartsqueeze: ¡Sigue así, "
mensaje_croqueta = "Alguien que te aprecia mucho quiere enviarte croquetas :croqueta: :croqueta: :croqueta:" mensaje_croqueta = "Alguien que te aprecia mucho quiere enviarte croquetas :croqueta: :croqueta: :croqueta:"
mensaje_cumple = ["Alguien me ha revelado que hoy es tu día, ", ". ¡Feliz cumpleaños de su parte! :blobcatbirthday:"]
mensaje_mismo = "La persona más importante que debes apreciar eres tú. ¡Eres increíble! ❤" mensaje_mismo = "La persona más importante que debes apreciar eres tú. ¡Eres increíble! ❤"
mensaje_nobot = "La cuenta objetivo tiene la etiqueta #nobot en su biografía. ¡No tengo poder aquí!" mensaje_nobot = "La cuenta objetivo tiene la etiqueta #nobot en su biografía. ¡No tengo poder aquí!"
mensaje_aviso = "Has intentado apreciar a alguien pero no has usado un mensaje directo/privado. ¡Tienes que mencionarme en un mensaje directo/privado para que funcione!" mensaje_aviso = "Has intentado apreciar a alguien pero no has usado un mensaje directo/privado. ¡Tienes que mencionarme en un mensaje directo/privado para que funcione!"
@ -23,6 +24,14 @@ max_notifications=10
new_last_ids=[] new_last_ids=[]
notifications = api.notifications(types=["mention"],limit=max_notifications) notifications = api.notifications(types=["mention"],limit=max_notifications)
no_unicode_spaces_pattern = r"[\u200B-\u200D\u202A\u202C\uFEFF]" no_unicode_spaces_pattern = r"[\u200B-\u200D\u202A\u202C\uFEFF]"
mode_croqueta_words=["croqueta", "croquetas"]
mode_cumple_words=["cumple", "cumpleaños", "felicidades"]
def check_mode(mode_words, content):
for word in mode_words:
if ( (word in content) or ( ('"' + word +'"') in content) ):
return True
return False
for n in notifications: for n in notifications:
new_last_ids.append(n['id']) new_last_ids.append(n['id'])
@ -58,12 +67,10 @@ for i in range(0, max_notifications - 5):
api.status_reply(n['status'], mensaje_nobot) api.status_reply(n['status'], mensaje_nobot)
else: else:
#api.status_post(mensaje + target + "!", in_reply_to_id=n['status']['id'], visibility="unlisted") #api.status_post(mensaje + target + "!", in_reply_to_id=n['status']['id'], visibility="unlisted")
if ("croqueta" in content if check_mode(mode_croqueta_words, content):
or "croquetas" in content
or '"croqueta"' in content
or '"croquetas"' in content
):
new_status = api.status_post(target + " " + mensaje_croqueta, visibility="unlisted") new_status = api.status_post(target + " " + mensaje_croqueta, visibility="unlisted")
elif check_mode(mode_cumple_words, content):
new_status = api.status_post(mensaje_cumple[0] + target + mensaje_cumple[1], visibility="unlisted")
else: else:
new_status = api.status_post(mensaje + target + "!", visibility="unlisted") new_status = api.status_post(mensaje + target + "!", visibility="unlisted")
api.status_reply(n['status'], 'Tu muestra de aprecio ha sido enviada ❤️ ' + new_status['url'], visibility="direct") api.status_reply(n['status'], 'Tu muestra de aprecio ha sido enviada ❤️ ' + new_status['url'], visibility="direct")

View File

@ -4,7 +4,7 @@ from common import list_append
from common import list_write from common import list_write
# Messages # Messages
message = "¡Hola! Soy Roberto, el administrador de este servidor de Mastodon :mastodon: (https://masto.es)\n\nTe recomiendo que empieces escribiendo una publicación con la etiqueta #presentación para darte a conocer (https://masto.es/@rober/109412552189056438).\n\n¡Espero que tengas un buen comienzo! Si necesitas ayuda, ¡cuenta conmigo!" message = "¡Hola, te doy la bienvenida a Mastodon :mastodon: en https://masto.es!\n\nTe recomiendo que empieces escribiendo una publicación con la etiqueta #presentación y tus intereses para darte a conocer.\n\n¡Espero que tengas un buen comienzo! Si necesitas ayuda, ¡cuenta conmigo!"
# Initialization # Initialization

View File

@ -5,7 +5,7 @@ from common import list_write
from datetime import datetime, timedelta from datetime import datetime, timedelta
def get_message(user_domain): def get_message(user_domain):
return "¡Hola! Veo que es tu primera vez en Mastodon, ¡te doy la bienvenida!\n\nTe recomiendo que empieces escribiendo una publicación con la etiqueta #presentación para darte a conocer (https://masto.es/@rober/109412552189056438).\n\n¡Espero que tengas un buen comienzo! Si necesitas ayuda, ¡cuenta conmigo!" return "¡Hola! Veo que es tu primera vez en Mastodon, ¡te doy la bienvenida!\n\nTe recomiendo que empieces escribiendo una publicación con la etiqueta #presentación y tus intereses para darte a conocer.\n\n¡Espero que tengas un buen comienzo! Si necesitas ayuda, ¡cuenta conmigo!"
excluded_domains = [ excluded_domains = [
'masto.es', 'masto.es',
@ -28,6 +28,7 @@ excluded_domains = [
'mastorock.com', 'mastorock.com',
'meetiko.org', 'meetiko.org',
'mastodon.cr', 'mastodon.cr',
'fedi.lat',
# Relay nobigtech.es # Relay nobigtech.es
'sindicato.social', 'sindicato.social',
'mastodon.uy', 'mastodon.uy',

View File

@ -13,6 +13,7 @@ for n in notifications:
if word in n['account']['note']: if word in n['account']['note']:
api.admin_account_moderate(n['account']['id'], action='suspend', send_email_notification=False) api.admin_account_moderate(n['account']['id'], action='suspend', send_email_notification=False)
list_append(bot_name + "_banned", n['account']['acct']) list_append(bot_name + "_banned", n['account']['acct'])
print("banned: " + n['account']['acct'])
# Known spam accounts with similar names # Known spam accounts with similar names
names = list_read('moderabot_forbidden_names') names = list_read('moderabot_forbidden_names')