stringtranslate.com

Charla de usuario:Bot de servicio de solicitud de comentarios

Estadísticas al acecho

@ Primefac : Novem Linguae me sugirió que pusiera un enlace a la página WP:BFRA en este bot propuesto (lo que creo que se logró con esta edición) y luego le enviara un mensaje y le preguntara si podría agregar una bandera de bot. -- David Tornheim ( discusión ) 01:02, 14 de marzo de 2024 (UTC) [ responder ]

Este bot no ha recibido aprobación para nada (y ni siquiera existe un BRFA todavía). Primefac ( discusión ) 09:42 14 mar 2024 (UTC) [ responder ]
Parece que se vinculó el brfa incorrecto en la página del usuario. Este bot es una toma de control de la tarea Wikipedia:Bots/Requests for approved/Yapperbot . Ese bot está inactivo, por lo que se utilizó la política de toma de control de cuentas inactivas de toolforge. El código fuente es exactamente el mismo que el de yapperbot. Primefac, ¿crees que se necesita un nuevo brfa o podemos simplemente marcar el bot? David, ¿terminaste obteniendo el control de la cuenta de toolforge de yapperbot o creaste tu propia cuenta de toolforge? – Novem Linguae ( discusión ) 11:40, 14 de marzo de 2024 (UTC) [ responder ]
Permítanme publicar mi actualización (probablemente en las próximas 24 horas) que responde a muchas de estas preguntas y probablemente a las preguntas de seguimiento de todos ustedes. El acto de escribir la actualización (especialmente escribir lo que era confuso) me ha ayudado a responder las preguntas que estaba a punto de publicar. La he reescrito varias veces a medida que las cosas se vuelven más claras. Ahora es el momento de terminar y publicarla. -- David Tornheim ( discusión ) 11:59, 14 de marzo de 2024 (UTC) [ responder ]
Pensándolo bien, creo que te di un mal consejo, David. Disculpas. La forma más adecuada de hacerlo es probablemente presentar un WP:BRFA . Si revisas los scripts de usuario de Enterprisey, hay uno bueno para presentar BRFA. – Novem Linguae ( discusión ) 11:55, 14 de marzo de 2024 (UTC) [ responder ]
Gracias, estoy de acuerdo. Iba a decirte que me sentiría más cómodo siguiendo el protocolo BRFA, porque será casi imposible hacer que el software sea 100% idéntico. Legoktm me pidió específicamente que "creara una nueva cuenta de bot y presentara un BRFA para encargarme de las tareas de Yapperbot". Incluso si copio el código exactamente, los archivos de configuración tendrán que cambiarse para adaptarse a las nuevas ubicaciones de archivos, nombres de cuenta, etc., y existe la posibilidad de que no funcione correctamente la primera vez, incluso si no cambio nada más. Preferiría usar el protocolo de prueba y el proceso de revisión habituales. Explicaré más sobre eso en la actualización, que está muy cerca de terminar. Gracias por los comentarios y la orientación. -- David Tornheim ( discusión ) 13:43, 14 de marzo de 2024 (UTC) [ responder ]
La respuesta muy breve es sí, se necesitará una nueva BRFA, aunque sea solo para darle el visto bueno y demostrar que ha sido aprobada. Primefac ( discusión ) 16:41 14 mar 2024 (UTC) [ responder ]

Actualizar

@ Legoktm : Novem Linguae , Pppery , DreamRimmer , Awesome Aasim , un gatito inteligente, Aaron Liu :

Esta es una continuación de las discusiones en User_talk:Naypta y User_talk:Yapperbot :

Quería darles un informe sobre mi progreso desde la última vez que publiqué. Hasta ahora, estos son los que están terminados o en proceso:

(1) Se notificó al propietario de Yapperbot Usuario:Naypta

  • En Wikipedia, en su página de discusión (enlace permanente) y en la página de discusión de Yapperbot (enlace permanente)
  • En Wikitech [1]

(2) Revisar el código de:

Yapperbot :
  • Yapperbot-frs. Punto de entrada: main.go. Otros archivos: src
  • Herramientas de Yapper, código
  • Yapperbot-pruner – “Elimina listas de Wikipedia de usuarios antiguos, bloqueados indefinidamente y renombrados” aprobado 22:22, domingo, 21 de junio de 2020
Módulos de soporte llamados por Yapperbot:
  • yaml.v2
  • go-mwcclient – ​​para la interacción de API mediante Go.
  • OAuth
Legobot : código, aprobación de la tarea 33, con foco en rfcbot.php, rfcbot.sql, goodarticles.php y ga.sql.

(3) Escritura de ejemplos de bots de prueba

(4) Revisión de Wiki API, por ejemplo

  • API:Página principal
  • api.php
  • API: Formatos de datos
  • API: Código de cliente
  • API en prueba Wikipedia
  • Este video explicativo de las API fue útil

(5) Aprender nuevos idiomas

  • Ir desde [2]
  • Php de W3 Schools

(6) Aprender sobre nuevos formatos de almacenamiento de datos

(7) Cuentas/inicios de sesión creados:

  • Forja de herramientas
  • Wikitech (creo que es equivalente a Toolforge)
  • Fabricador
  • GitHub
  • SSH
  • Bot en Toolforge: bot de servicio de solicitud de comentarios bot de servicio de solicitud de comentarios
  • Bot en Wikipedia: Bot de servicio de solicitud de comentarios
  • ¿Necesito crear una cuenta MediaWiki?

Desafíos:

(1) Documentación escasa . Creo que todos estamos acostumbrados a eso.
(2) La API Wiki y los innumerables módulos de soporte de software que recurren a la API Wiki fueron los más difíciles de entender para mí. Mucho más difíciles que leer el código Go escrito en Yapperbot. A pesar de los comentarios mínimos, el código no es tan difícil de seguir.
Sería bueno que las especificaciones de E/S para los módulos de soporte (y la mayoría del software utilizado en MediaWiki o al que se hace referencia) se escribieran de forma más clara y precisa. He llegado a la conclusión de que las actualizaciones del sistema, los cambios importantes de software, los protocolos, los requisitos de sistema y seguridad y la compatibilidad de todo el software de WikiMedia con versiones anteriores tienen mucho que ver con el motivo por el que la documentación es tan desordenada y conduce en tantas direcciones.
(3) Toolforge : Al principio no pude encontrar un tutorial sencillo sobre cómo escribir un bot que haga algo tan simple como leer una página de Wikipedia. Las páginas Ayuda:Crear_un_bot (especialmente Ayuda:Crear_un_bot#APIs_para_bots ) y el uso de la API Wiki han sido las más desafiantes. Creo que ahora tengo los conceptos principales bajo control y pronto comenzaré a probar la API Wiki directamente y los módulos que la llaman.
Hace poco encontré User:GreenC/BotWikiAwk y [3], que creo que son exactamente lo que estaba buscando. Estoy a punto de investigarlos.
También miré la herramienta Build and host your first. Creo que probé My_first_Buildpack_Python_tool hace un par de semanas, me encontré con un problema de configuración y nunca volví a usarla; me concentré en todo lo demás que tenía que aprender. ¿Hay otro de esos tutoriales con el que sea más fácil trabajar? Probablemente pruebe My_first_PHP_tool a continuación.
(4) Control de versiones : aunque entiendo que los mantenedores de bots pueden cargar código a un servidor y usar SSH a través de Toolforge para ejecutarlo, por ejemplo, phab:T320195, todavía no tengo muy claro cuál es la relación entre el código publicado y el código en el servidor que parece estar protegido. [Se disiparon algunas inquietudes, como se explicó aquí, agregado a las 19:39, 15 de marzo de 2024 (UTC) ] Con suerte, BotWikiAwk y [4] lo dejarán lo suficientemente claro. [ responder ]
No estoy seguro de cómo se realiza el control de versiones en lo que respecta a los bots. Parece que GitHub tiene algún tipo de control de versiones automático, pero aún no he leído nada al respecto. (Acabo de buscar [5] y [6].) En el caso de GitHub, parece que lo que se ve es siempre la versión actual . Tengo la impresión de que, en lugar de llamar a ese código en GitHub, la primera vez que se ejecuta el código Go, descarga todos los módulos apropiados de GitHub (o donde sea que estén almacenados) al servidor local y luego usa claves en archivos yaml para realizar un seguimiento de exactamente qué copia ha descargado. [7]
Estoy acostumbrado a servicios como SCCS y RCS de Unix que realizan un seguimiento de cada cambio y de los lanzamientos de versiones importantes. Cuando trabajé como diseñador de VLSI a principios de los años 90, teníamos directorios protegidos contra escritura para cada versión publicada del código o diseño, de modo que podíamos estar seguros de que el módulo era estable.
Me parece extraño que el código de Yapperbot, los scripts que llaman al código y los datos que el código almacena en el servidor ( aparte de la contraseña del bot ) parezcan estar protegidos de la vista.
Entiendo que el código se publica en GitHub, pero ¿cómo sabemos que es *idéntico* a la copia que se está ejecutando realmente? ¿Y qué sucede cuando el programador debe modificar o volver a publicar el código para corregir errores? ¿Cómo puede WP:BRFA revisar el código y asegurarse de que no se modifique, si está protegido de la vista? ¿BRFA se centra casi por completo en el comportamiento en las ediciones en lugar del código en sí?

Preguntas:

(1) ¿Necesito instalar MediaWiki? ¿Esto ya se hizo con la instalación de Toolforge?
(2) Legobot: ¿Existe una definición de nivel superior para las tablas o consultas que se utilizan para almacenar los datos de RfC y GA? ¿Dónde se almacenan exactamente esos datos? ¿Debo asumir que están en una base de datos MySQL?
Creo que la respuesta se puede encontrar aquí: wikitech:Help:Toolforge/Database.-- David Tornheim ( discusión ) 06:50 19 mar 2024 (UTC)[ responder ]
(3) Paso único/Depurador. Sería bueno poder recorrer el código paso a paso (actuando sobre la wiki de prueba) y ver los datos a medida que se utilizan. ¿Es esto posible? Mi investigación sobre depuradores para Go sugirió GDB y delve.
Para mi código personal, si no tuviera un depurador, con frecuencia pondría instrucciones del formato: if (Debug_value > constant) {Print internal variable(s)}. Debug_value tiene asignado 0=No Debug; 1=Debug mostrando la menor cantidad de variables; >1 = valores más grandes dan mayor detalle. Veo que console.log() es una función útil para hacer algo así. Sin embargo, no recuerdo haber visto impresiones de variables internas para depuración en *ninguno* del código que he visto. ¿Qué hacen normalmente los programadores para depurar sus bots?

Plan/Preparación:

El software relacionado con la API era más complejo de lo que había previsto. Después de varios días de probarlo, creo que entiendo la idea general de cómo se supone que debe usarse. Quiero probarlo con un código simple en la wiki de prueba.
Aunque no me importa pedirles a los editores que me consulten si tienen preguntas sobre Yapperbot, quiero entender mejor toda la funcionalidad del servicio de comentarios de Yapperbot (y cómo se comunica con la API) antes de que me pidan que arregle un error, cambie parámetros, etc. Mi nivel de comodidad aumenta cada día. He estado mirando el código de Yapperbot (sus módulos de soporte y todo lo anterior) al menos un par de horas al día desde que notifiqué a Naypta.
Estaré encantado de recibir cualquier consejo sobre qué aspectos de lo mencionado anteriormente debo estudiar más para estar preparado.

Otras funciones de Yapperbot:

Yapperbot realiza un par de tareas más que parecen no tener ninguna relación con el Servicio de comentarios , en particular Uncurrenter, Yapperbot-wikidatatable y algunas funciones de Pruner (además de podar las listas de FRS ). A largo plazo, preferiría que alguien más se hiciera cargo de las funciones no relacionadas con WP:FRS . Estoy dispuesto a ocuparme de esas funciones adicionales por el momento y posiblemente reconsiderar la posibilidad de ayudar a mantenerlas también.

Adopción:

Todavía no he solicitado adoptar Yapperbot en Toolforge, aunque el período de espera de 14 días ha pasado recientemente. Pensé que debería compartir mi progreso con todos ustedes primero, en caso de que alguien tenga inquietudes o tenga buenas razones para que espere antes de presentar la solicitud. De lo contrario, con gusto presentaré la solicitud.

Nuevamente, estoy muy feliz de recibir consejos y orientación para mantener mi aprendizaje continuo enfocado en lo que más se necesita para lograr este trabajo de asegurarme de que el bot del Servicio de solicitud de comentarios esté funcionando correctamente, de modo que los editores reciban las notificaciones que han solicitado. -- David Tornheim ( discusión ) 05:39, 15 de marzo de 2024 (UTC) [ responder ]

Respuestas a la actualización

Aarón Liu

  1. Dado que tienes una cuenta en Wikipedia, ya tienes una cuenta en mediawiki.org
  2. El enlace [6] debería explicar mejor Git. No es exactamente automático, tienes que hacer "git add" para modificar los cambios y luego "git commit" para crear una nueva versión actual. "git push" cargaría entonces tu versión actual al servidor. Y tu impresión sobre la descarga local es correcta.
  3. A menos que desees/necesites realizar pruebas en tu propio wiki en lugar de sólo testwiki, no deberías necesitar instalar MediaWiki.
  4. Si quieres mantener Pruner para FRS, creo que también deberías mantenerlo para todas las listas. Parece que sería tan sencillo como un cambio de configuración.
  5. Yo diría que probablemente deberías adoptarlo. Como dijo NL, podría haber cambios que solo estén presentes en Toolforge.
De todos modos, ¡gracias! Aaron Liu ( discusión ) 11:38 15 mar 2024 (UTC) [ responder ]

Nuevas lenguas

Gracias por hacer esto, David. Algunas ideas y sugerencias:
  • Si no has descubierto o experimentado con Special:ApiSandbox , definitivamente querrás echarle un vistazo a esto. Aunque ten en cuenta que en realidad no es un sandbox, hace ediciones en vivo, así que ten cuidado con las acciones de API que no son de visualización cuando no estés en testwiki. La documentación en mediawikiwiki para la API de acción también es bastante buena: mw:Action API.
  • Git es un fastidio y tiene una gran curva de aprendizaje, pero es, por lejos, el estándar de la industria en la actualidad. Vale la pena aprenderlo por eso. Todo usa git. Mercurial, SVN, etc. (sistemas de control de versiones alternativos) están casi extintos, por lo que puedo decir. Personalmente, me gustan los sitios web de ejercicios interactivos para aprender. Aquí hay uno bueno para git: https://learngitbranching.js.org/.
  • GitHub es un buen sitio web/repositorio para bots. Gitlab.wikimedia.org es la versión de código abierto de GitHub para Wikimedia, pero por diversas razones aún no se ha producido un cambio masivo. GitHub es un poco más estándar en la industria y la gente está familiarizada con él.
  • Tengo un tutorial del bot PHP Toolforge si quieres echarle un vistazo: Usuario:Novem Linguae/Essays/Toolforge bot tutorial .
  • Personalmente, solo uso SFTP para arrastrar y soltar archivos desde mi máquina local a Toolforge cuando actualizo mi código o publico una versión. Hay formas más adecuadas y complejas de publicar actualizaciones, pero esta es muy simple, lo que tiene sus ventajas. Combino esta técnica con el control de versiones de Git porque el control de versiones es una buena herramienta de eficiencia para que puedas comparar todo lo que has hecho, puedes hacer que una confirmación cierre simultáneamente un ticket (un problema de GitHub) al poner algo como "Arreglar el n.° 27" en el mensaje de confirmación, y para que tu código se publique para que otros lo vean. Puedes usar un archivo .gitignore para mantener los "secretos" fuera de Git, como los archivos de contraseñas.
Novem Linguae ( discusión ) 13:13, 15 de marzo de 2024 (UTC) [ respuesta ]
Estoy bastante seguro de que estaban hablando de la API de PHP, ya que el bot está escrito parcialmente en ella. Aaron Liu ( discusión ) 13:23, 15 de marzo de 2024 (UTC) [ responder ]
@ Novem Linguae y Aaron Liu : Gracias a ambos por sus comentarios. Voy a empezar a llevar un registro de lo que estoy haciendo en User:David_Tornheim/YapperBotRelated . Si alguno (o ambos) de ustedes tuvieran la amabilidad de ponerlo en su lista de seguimiento, podrían ver mi progreso allí y cualquier problema futuro. En este momento, no quiero que sea una página de discusión: es más una compilación de enlaces relevantes, elementos para hacer y cosas como las que describí anteriormente. No me importa si le agregan información, o incluso si ponen "elementos para hacer", o cambian la prioridad o el orden. Si quieren hablar sobre algo allí, preferiría que fuera en su propia página de discusión, aquí, en mi página de discusión o en la página de discusión de Yapperbot. -- David Tornheim ( discusión ) 17:06, 15 de marzo de 2024 (UTC) [ responder ]
Al volver a consultar wikitech:Help:Toolforge/Quickstart, veo que menciona GitLab. Pensé erróneamente que GitHub lo administraba y lo controlaba completamente, pero parece que en cambio es parte de MediaWiki, lo que disipa una de mis principales preocupaciones sobre quién controla las versiones de software, dónde se almacenan, etc. -- David Tornheim ( discusión ) 19:17, 15 de marzo de 2024 (UTC) [ responder ]
GitLab es un software, al igual que MediaWiki, que WMF ha instalado. Aaron Liu ( discusión ) 20:23 15 mar 2024 (UTC) [ responder ]

Contraseñas de bots / Contraseñas especiales de bots

@ Novem Linguae y Aaron Liu : estamos avanzando. Desde el último informe, he trabajado en algunas de las herramientas de User:GreenC/BotWikiAwk y he logrado configurarlas. Ahora estoy trabajando en User:Novem_Linguae/Essays/Toolforge_bot_tutorial . Probé algunos scripts php, uno de los cuales ejecuta correctamente la instrucción "include('botclasses.php');" sin ningún error.

Ahora estoy en Usuario:Novem_Linguae/Essays/Toolforge_bot_tutorial#Bot_passwords .

He examinado mw:Manual:Bot_passwords. Para empezar, me gustaría crear una tarea que haga lo mínimo y tenga los privilegios mínimos , por ejemplo, un bot que solo lea páginas. Me gusta probar comandos y rutinas de manera incremental con una complejidad creciente hasta que finalmente pueda hacer que funcione todo el código de Yapperbot. Cuanto antes pueda comenzar a probar los comandos más simples del código de Yapperbot, más cerca estaré de poder mantenerlo.

¿Ustedes (o cualquier otra persona) que esté mirando, podrían darme una sugerencia sobre nombres para bots especiales y los privilegios apropiados para no hacer mucho daño?

Inicié sesión en la página Special:BotPasswords y es un poco abrumador... Dice que tengo una "contraseña de bot existente: David@Tornheim". No recuerdo haber creado una contraseña así. Hice clic en el enlace y luego va a: mw:Special:BotPasswords/David@Tornheim. Esa página dice que el nombre de usuario es: "David Tornheim@David@Tornheim". Da la opción de restablecer la contraseña y una lista de casillas de verificación. Luego da un rango de IP de:

0.0.0.0/0
::/0

y páginas permitidas para edición. Me gustaría probar a poder editar una página como "Usuario:David Tornheim/test" y/o leer o escribir un archivo como "Usuario:David Tornheim/config.json". ¿Alguien puede ayudarme a encontrar la mejor manera de configurar el nombre de la tarea de contraseña especial del primer bot y los mejores privilegios, para reducir la probabilidad de interrupciones involuntarias? -- David Tornheim ( discusión ) 07:48, 19 de marzo de 2024 (UTC) [ responder ]

Me alegra que mi tutorial sobre bots de Toolforge te resulte útil. Ayer actualicé la sección de tareas programadas del tutorial y agregué algunos detalles a la sección de contraseñas de bots ahora mismo, por lo que el tutorial debería estar bastante actualizado con las mejores prácticas actuales.
Para Special:BotPasswords, si quieres jugar con él, ve a tu cuenta de bot (no a tu cuenta principal), luego visita Special:BotPasswords , luego en la parte inferior donde dice "crear una nueva contraseña de bot", escribe Task1 y haz clic en "Crear". Eso te llevará a una pantalla que te dice que tu nombre de usuario de bot es "[AccountName]@Task1" (o similar), luego te permite otorgar permisos a ese nombre de usuario en particular a través de casillas de verificación. Parece que hay un cuadro "Páginas permitidas para edición" en la parte inferior si quieres restringirlo solo a tu página de prueba. Luego haz clic en "Crear" nuevamente y te dará una contraseña generada para ese nombre de usuario. Creo que este nombre de usuario y contraseña solo funcionan para la API, no para iniciar sesión a través del formulario de inicio de sesión del sitio web normal.
No me volvería loco con la seguridad. Si marcas una o dos casillas de permiso adicionales para tu bot, probablemente no tendrás ningún problema. Puedes ahorrarte la capacidad intelectual para otras partes del tutorial :) – Novem Linguae ( discusión ) 03:00, 29 de marzo de 2024 (UTC) [ responder ]
Gracias. Probaré lo que me sugeriste. -- David Tornheim ( discusión ) 21:11 30 mar 2024 (UTC) [ responder ]

Intentando ejecutar el código de Yapperbot

@ Novem Linguae y Aaron Liu : Estoy intentando ejecutar el código de Yapperbot (aún no como bot) primero en mi máquina local (Windows), luego en el shell de Toolforge. Pasé aproximadamente una hora en este problema, que publiqué en WP:VPT . No sé si alguno de ustedes está familiarizado con Go. ¿Conocen a algún wikipedista que lo esté? -- David Tornheim ( discusión ) 07:10, 23 de marzo de 2024 (UTC) [ responder ]

Es una lástima ver bots que no usan un lenguaje con el que los desarrolladores de Wikimedia estén familiarizados (PHP, Node) o que no usan un lenguaje que sea popular y con el que mucha gente esté familiarizada (Python). Esto dificulta el mantenimiento.
Si la gente de VPT no pudo ayudarte, yo probaría las plataformas de salas de chat: WP:DISCORD y WP:IRC . Para Discord, creo que el canal que quieres es #technical (crea tu propio hilo) o #general-technical-discussion. Para IRC, tal vez #wikimedia-tech. – Novem Linguae ( discusión ) 03:20, 29 de marzo de 2024 (UTC) [ responder ]
@ Novem Linguae : Gracias por la respuesta. Esperaba que tú u otro programador me respondieran en algún momento. Para resumir, puse los puntos clave en negrita .
Últimamente, mi objetivo ha sido simplemente intentar ejecutar el código Go en mi máquina local, de modo que simplemente recorra los bucles del código y no pueda editar ninguna página Wiki ni causar ningún daño. Una vez que haya llegado lo más lejos posible con eso, planeo probarlo en la wiki de prueba utilizando el nuevo bot que se ejecuta en Toolforge.
Al responder a otro usuario en User_talk:Naypta#Yapperbot_RfC_-_no_requests (enlace permanente), revisé algunas de mis conversaciones antiguas de 2020 con Naypta sobre mi preocupación por la notificación insuficiente. En algún momento de esas discusiones, Naypta indicó que tenemos que confiar en que el código en Toolforge es idéntico al de GitHub. Eso me hizo reflexionar.
No vi ningún sentido en seguir jugando con el código de Github si había la más mínima posibilidad de que no coincidiera exactamente con el código real que se está ejecutando en Wikipedia en este momento. A pesar de que he podido iniciar sesión con éxito en Toolforge, ejecutar comandos SSH, compilar y ejecutar programas Go simples y crear el nuevo bot FRS (y su carpeta) en Toolforge, convertirme en el bot/herramienta, cuando voy a la carpeta yapperbot, la mayor parte del código está protegido de la vista.
Entonces, mi próximo paso es solicitar la adopción para poder ver el código real y hacer una copia para trabajar con él. Estaba a punto de notificarle mi plan de solicitar la adopción anoche. Me quedé sin fuerzas, pero planeo hacerlo esta noche y le informaré cuando lo haya presentado.
Todavía me vendría bien una guía general con respecto a las prioridades de los paquetes que estoy aprendiendo y dónde concentrar mi energía. (Por ejemplo, todavía no intenté aprender los protocolos de GitHub para actualizaciones, porque es bastante fácil ver todo el código publicado más actual. Mi objetivo principal es asegurarme de comprender completamente cada sutileza del código, de modo que si se rompe o necesita ser modificado, pueda arreglarlo o ajustarlo rápidamente. Es por eso que mi enfoque ahora es ejecutar una COPIA del código donde pueda imprimir variables internas, etc., para asegurarme de que está haciendo lo que creo que está haciendo.
La cantidad de herramientas y paquetes de software que he tenido que aprender es sustancial. Es muy diferente a hace 30 años, cuando escribías todo el paquete en C y tenías una cantidad mínima de paquetes de soporte en los que confiar: teníamos que crear nuestras propias estructuras de datos, E/S, ordenación, estructuras de árbol y poda de árboles con punteros, etc. de una manera que ahora parece bastante obsoleta con la programación orientada a objetos . Es impresionante lo mucho más simple que es el código ahora. Me siento más cómodo con todo esto que cuando publiqué la última actualización el 15/3/24. -- David Tornheim ( discusión ) 06:14, 29 de marzo de 2024 (UTC) [ responder ]
Hola David. Estoy de acuerdo en que sería mejor esperar hasta que se complete el proceso de adopción de Toolforge, para que puedas tener acceso a los últimos y mejores archivos de YapperBot. No tiene sentido correr el riesgo de usar archivos de GitHub desactualizados o incompletos (faltan archivos de configuración clave). Te recomiendo que finalices el proceso de adopción, descargues los archivos de Toolforge y luego inicies un nuevo repositorio de GitHub con esos archivos de ToolForge como la primera confirmación (ya que supongo que de todos modos no tienes acceso de colaborador al antiguo repositorio de GitHub). Asegúrate de poner las rutas de los archivos de contraseña en tu archivo .gitignore para que no se incluyan en git.
Creo que aprender Git y GitHub al final es una buena idea. Como cualquier gran problema de programación o cualquier gran problema en general, es mejor dividirlo en problemas más pequeños. Git es el estándar de la industria para el control de versiones en la actualidad, pero tiene una curva de aprendizaje complicada.
Sí, Internet ha hecho que las bibliotecas de software sean algo común, lo que puede ahorrar tiempo, pero puede tener otros costos (la complejidad de aprender a usar el software de descarga/actualización de la biblioteca, tener que mantener actualizadas estas dependencias externas, tener que asegurarse de que las actualizaciones no rompan su código, etc.). Supongo que hay pros y contras. – Novem Linguae ( discusión ) 21:28, 29 de marzo de 2024 (UTC) [ responder ]
@ Novem Linguae : Mientras espero que se lleve a cabo la adopción y se me dé permiso para ver el código actual en ejecución, mi principal objetivo sigue siendo ejecutar el código, de modo que pueda ver las variables internas y asegurarme de que entiendo completamente cómo funciona. Ahora que encontré una solución alternativa para resolver el problema que tenía relacionado con los módulos, necesitaré poder modificar una copia. Necesito un registro de cada cambio que haga en la copia. Mientras trabajo en ello, también agregaré comentarios. En lugar de usar mi RCS/SCCS favorito del pasado, tiene más sentido comenzar con GitHub.
Por lo tanto, he hecho una copia para jugar:
  • github.com/DavidTornheim/yapperbot-frs
  • github.com/DavidTornheim/ybtools
Si quieres que te agregue como colaborador, estaré encantado de hacerlo. -- David Tornheim ( discusión ) 18:35 5 abr 2024 (UTC) [ responder ]
Por supuesto, no dudes en agregarme como colaborador. https://github.com/NovemLinguae. – Novem Linguae ( discusión ) 20:21 5 abr 2024 (UTC) [ responder ]
Invitación  realizada -- David Tornheim ( discusión ) 21:08 5 abr 2024 (UTC) [ responder ]

Solicitud de adopción de Yapperbot presentada

@ Novem Linguae : Solicitud de adopción de Yapperbot presentada aquí. -- David Tornheim ( discusión ) 12:16 30 mar 2024 (UTC) [ responder ]

Icono de pulgar hacia arribaNovem Linguae ( discusión ) 19:57, 31 de marzo de 2024 (UTC) [ respuesta ]

Comentando el código de Yapperbot

@ Novem Linguae : Pregunta sobre Github. Si hay un lugar mejor para preguntar, hágamelo saber. Me gustaría saber las reglas de formato para un archivo de tipo *.MD. Quiero que el archivo README en DavidTornheim/ybtools se vea así:

# Herramientas de Yapperbot
# 2024-04-07 Atributo DAT readme original; describe los archivos de configuración esperados
# 2020-05-19 Último commit de CPF
Descripción original de CPF (https://github.com/mashedkeyboard)
Un conjunto de importaciones utilizadas por otros robots de Wikipedia que he creado. Probablemente no sean de mucha utilidad para nadie más, pero puedes usarlas de acuerdo con la licencia si lo deseas.
Archivos de configuración esperados en el directorio de inicio:
constante nombreDeArchivoDeConfiguraciónLocal cadena = "config.yml"
constante globalConfigFilename cadena = "config-global.yml"
const botPasswordFilename cadena = "botpassword"
desde: config.go

Sin embargo, en lugar de eso, elimina todos los saltos de línea y lo convierte en un desastre:

MD significa Markdown. Es la misma sintaxis que se usa en Reddit, Discord y un par de lugares más. "Markdown" debería ser una pista lo suficientemente buena como para buscar en Google una guía de sintaxis. Prueba a agregar saltos de línea cuando corresponda o rodear las partes superior e inferior de los bloques de código con comillas triples invertidas (```) – Novem Linguae ( discusión ) 16:14, 7 de abril de 2024 (UTC) [ responder ]
@ David Eppstein Para responder a tu pregunta en concreto: añade dos espacios al final de la línea anterior para un salto de línea y haz saltos de línea dobles para un salto de párrafo. Aaron Liu ( discusión ) 16:41 7 abr 2024 (UTC) [ responder ]
Gracias por ambos comentarios. -- David Tornheim ( discusión ) 18:15 7 abr 2024 (UTC) [ responder ]
Oh, Dios, acabo de darme cuenta de que le hice ping a la persona equivocada. Lo siento. David Eppstein Aaron Liu ( discusión ) 18:16 7 abr 2024 (UTC) [ responder ]

Descripción original de CPF (https://github.com/mashedkeyboard): Un conjunto de importaciones utilizadas por otros bots de Wikipedia que he creado. Probablemente no sean de mucha utilidad para nadie más, pero puedes usarlas de acuerdo con la licencia si lo deseas.

Archivos de configuración esperados en el directorio de inicio: const localConfigFilename string = "config.yml" const globalConfigFilename string = "config-global.yml" const botPasswordFilename string = "botpassword" desde: config.go


Imagino que en algún lugar hay un conjunto de reglas que son como Wikitext. ¿Sabes dónde puedo encontrarlas? -- David Tornheim ( discusión ) 11:44 7 abr 2024 (UTC) [ responder ]

Correo electrónico de Toolforge

@ Novem Linguae , Sohom Datta y Aaron Liu :

El código de Yapperbot utiliza el módulo Ybtools. Ybtools incluye el archivo error.go. Si hay un error, se envía un correo electrónico a "[email protected]". ¿Es esa una cuenta de correo electrónico que se creó automáticamente para cada bot o la creó Naypta? ¿Alguien más revisaría ese correo electrónico además de Naypta? ¿Hay una sección que explique las cuentas de correo electrónico que terminan en @tools.wmflabs.org y su uso con respecto a los bots? -- David Tornheim ( discusión ) 21:23, 8 de mayo de 2024 (UTC) [ responder ]

Echa un vistazo a wikitech:Help:Toolforge/Email. Creo que los correos electrónicos se reenvían automáticamente a Naypta y se crean automáticamente para cada cuenta de bot. No estoy seguro de si alguien tiene acceso a esos correos electrónicos, pero preguntaré en IRC. sohom @ enwiki 21:47, 8 de mayo de 2024 (UTC) [ responder ]
Gracias. -- David Tornheim ( discusión ) 22:25 8 may 2024 (UTC) [ responder ]

PD: Para su información, con la ayuda de Sohom Datta (Sohom Data está familiarizado con Go y los bots), comencé a ejecutar una copia local del código de Yapperbot en mi máquina de casa, de modo que pueda ver las variables internas y asegurarme de comprender completamente cómo funciona el código. No dejaré que la copia interfiera con el espacio principal, solo con el espacio de prueba. Progreso lento pero constante. -- David Tornheim ( discusión ) 21:36, 8 de mayo de 2024 (UTC) [ responder ]

Problema con el inicio de sesión de Shell

@ Novem Linguae , Sohom Datta y Aaron Liu : Estoy intentando iniciar sesión en SSH (que ya he utilizado con éxito en el pasado). Ahora me aparece este error:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ ADVERTENCIA: ¡POSIBLE SUPLANTACIÓN DE DNS DETECTADA! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@La clave de host ECDSA para login.toolforge.org ha cambiado.y la clave para la dirección IP correspondiente 185.15.56.62es desconocido. Esto podría significar queSe está produciendo una suplantación de DNS o la dirección IP del hosty su clave de host han cambiado al mismo tiempo.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ ADVERTENCIA: ¡LA IDENTIFICACIÓN DEL HOST REMOTO HA CAMBIADO! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@¡ES POSIBLE QUE ALGUIEN ESTÉ HACIENDO ALGO MALO!¡Alguien podría estar espiándote ahora mismo (ataque de intermediario)!También es posible que se haya cambiado recientemente una clave de host.La huella digital de la clave ECDSA enviada por el host remoto es<<omitido>>Por favor, póngase en contacto con el administrador del sistema.Agregue la clave de host correcta en C:\\Users\\MYLOCALNAME/.ssh/known_hosts para deshacerse de este mensaje.Clave ECDSA infractora en C:\\Users\\MYLOCALNAME/.ssh/known_hosts:1La clave de host ECDSA para login.toolforge.org ha cambiado y usted ha solicitado una verificación ::strict.Error en la verificación de la clave del host.

No creo haber cambiado nada significativo de mi parte que pudiera desencadenar esto. ¿Qué debo hacer? ¿Debería publicar esta pregunta en Discord o en otro lugar para preguntar al respecto? Cuando dice Agregar la clave de host correcta en C:\\Users\\MYLOCALNAME/.ssh/known_hosts para deshacerse de este mensaje , no entiendo qué significa eso. Si funcionaba antes, eso significa que la clave aún debería ser correcta, ¿verdad? -- David Tornheim ( discusión ) 10:32, 15 de mayo de 2024 (UTC) [ responder ]

Sé muy poco sobre SSH, pero agrega la clave de host correcta en C:\\Users\\MYLOCALNAME/.ssh/known_hosts para deshacerte de este mensaje. Parece que es la mejor manera de hacerlo. Podrías intentar algo como esto. – Novem Linguae ( discusión ) 10:35, 15 de mayo de 2024 (UTC) [ responder ]
Gracias por responder rápidamente. Lo intentaré y luego informaré aquí si funciona o no. -- David Tornheim ( discusión ) 10:37 15 may 2024 (UTC) [ responder ]
@ Novem Linguae @ David Tornheim Creo que la huella digital de SSH de los servidores cambió hace poco (en marzo). Las huellas digitales de SSH para la instancia login.toolforge.org actual se encuentran en wikitech:Help:SSH Fingerprints/login.toolforge.org. Si la huella digital coincide, puede eliminar las líneas que C:\\Users\\MYLOCALNAME/.ssh/known_hostscomienzan con login.toolforge.orgy ssh debería agregar las entradas correctas la próxima vez que se conecte a los servidores. (Es posible que reciba un mensaje del efecto:
:::No se puede establecer la autenticidad del host 'login.toolforge.org (185.15.56.62)'.:::La huella digital de la clave ED25519 es SHA256:BD7PYn+h064QofXmhn69Ehos6skHvaki6MO+EOubL3Q.:::Esta clave no se conoce con ningún otro nombre.:::¿Está seguro de que desea continuar conectándose (sí/no/[huella digital])?:::
Cuando vuelvas a iniciar sesión y lo apruebes, la nueva huella digital se agregará a tu archivo know_hosts) Sohom ( discusión ) 16:00, 15 de mayo de 2024 (UTC) [ responder ]