Fix matching bug with mastodon

This commit is contained in:
lanxu 2025-08-03 21:22:20 +03:00
parent 960e43ac9b
commit 5495549464

View File

@ -3,22 +3,22 @@ var requestPromise = require('./helpers/requestPromise.js')
var BasePlugin = require('./base.js') var BasePlugin = require('./base.js')
var htmlToText = require('html-to-text') var htmlToText = require('html-to-text')
class Mastodon extends BasePlugin { class Mastodon extends BasePlugin {
constructor (config) { constructor(config) {
super(config) super(config)
this.name = 'Mastodon' this.name = 'Mastodon'
} }
test (input) { test(input) {
if (input.match(/http(s)?:\/\/(www\.)?((.*\..*\/users\/([a-zA-Z0-9_-]*)\/statuses\/([0-9_-]*)))/)) { if (input.match(/http(s)?:\/\/(www\.)?((.*\..*\/users\/([a-zA-Z0-9_-]*)\/statuses\/([0-9_-]*)))$/)) {
return true return true
} }
if (input.match(/http(s)?:\/\/(www\.)?(((.*\..*)\/@([a-zA-Z0-9_-]*)\/([0-9_-]*)))/)) { if (input.match(/http(s)?:\/\/(www\.)?(((.*\..*)\/@([a-zA-Z0-9_-]*)\/([0-9_-]*)))$/)) {
return true return true
} }
return false return false
} }
getToot (host, statusId) { getToot(host, statusId) {
var promise = new Promise(function (resolve, reject) { var promise = new Promise(function (resolve, reject) {
var url = 'https://' + host + '/api/v1/statuses/' + statusId var url = 'https://' + host + '/api/v1/statuses/' + statusId
requestPromise(url, {}, { requestPromise(url, {}, {
@ -49,7 +49,7 @@ class Mastodon extends BasePlugin {
return promise return promise
} }
result (input) { result(input) {
var that = this var that = this
var resultPromise = new Promise(function (resolve, reject) { var resultPromise = new Promise(function (resolve, reject) {
var host = null var host = null