Суть в том, что когда администратор выдает наказание пользователю, бот в этот момент еще создает лог с его последними сообщениями. Вот код
const userMessages = await getUserMessages(targetId, 50);
const pasteContent = userMessages.map((msg) => {
const timestamp = new Date();
return `[${timestamp.toLocaleDateString()} ${timestamp.toLocaleTimeString()}] ${user.first_name}: ${msg}`;
}).join('\n');
if (!pasteContent || pasteContent.trim() === '') {
return await ctx.reply('Ошибка: Не удалось получить сообщения для логов.');
}
const pasteLink = await pasteToPastebin(pasteContent);
if (!pasteLink) {
return await ctx.reply('Ошибка при создании логов. Повторите позже.');
}
Я думаю он верный, ошибка в этом.
async function pasteToPastebin(content) {
try {
if (!content || content.trim() === '') {
console.error('Ошибка: Пустой контент для пасты');
return null;
}
const response = await fetch(PASTEBIN_API_URL, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
api_dev_key: PASTEBIN_API_KEY,
api_user_key: PASTEBIN_USER_API_KEY,
api_option: 'paste',
api_paste_data: content,
api_paste_expire_date: '1M',
api_paste_name: 'logs',
}),
});
const responseText = await response.text();
console.log('Ответ от Pastebin:', responseText);
if (responseText.includes('Bad API request')) {
console.error('Ошибка при отправке пасты на Pastebin:', responseText);
return null;
}
return responseText;
} catch (error) {
console.error('Ошибка при отправке данных на Pastebin:', error);
return null;
}
}
async function getUserMessages(userId, limit = 50) {
try {
const messages = await UserMessages.find({ userId })
.sort({ timestamp: -1 })
.limit(limit);
return messages.map((msg) => msg.text);
} catch (error) {
console.error('Ошибка при получении сообщений пользователя:', error);
return [];
}
}
module.exports = { pasteToPastebin, getUserMessages };
Моя ошибка:
Ответ от Pastebin: Bad API request, api_paste_code was empty
Ошибка при отправке пасты на Pastebin: Bad API request, api_paste_code was empty