# ------------------------------------------------------------
# Module: Telegraph
# Description: Module for creating articles on telegra.ph
# Author: kmodules
# ------------------------------------------------------------
# Licensed under the GNU AGPLv3
# https:/www.gnu.org/licenses/agpl-3.0.html
# ------------------------------------------------------------
# Author: @MeKsenon
# Commands:
# scope: hikka_only
# meta developer: @kmodules
# ------------------------------------------------------------
from .. import loader, utils
import requests
import json
__version__ = (1, 0, 2)
@loader.tds
class TelegraphMod(loader.Module):
"""Create article using telegra.ph"""
strings = {
"name": "Telegraph",
"args_error": "Use: .telegraph
| ",
"making": "🫥 Making article...",
"acc_error": "❌ Error occurred while creating account.",
"page_error": "❌ Error occurred while creating article.",
"success": "👍 Article created!\n\n✈️ Article\n⚡ URL: {}"
}
strings_ru = {
"name": "Telegraph",
"args_error": "Использование: .telegraph <заголовок> | <описание>",
"making": "🫥 Создаю статью...",
"acc_error": "❌ Произошла ошибка при создании аккаунта.",
"page_error": "❌ Произошла ошибка при создании статьи.",
"success": "👍 Статья создана!\n\n✈️ Статья\n⚡ URL: {}"
}
async def telegraphcmd(self, message):
"""Create article. Use: .telegraph | """
args = utils.get_args_raw(message)
if not args or '|' not in args:
return await message.edit(self.strings["args_error"])
title, description = args.split('|', 1)
title = title.strip()
description = description.strip()
await message.edit(self.strings["making"])
user = await message.client.get_me()
author = user.first_name
acc_data = requests.get(
"https://api.telegra.ph/createAccount",
params={
"short_name": "Sandbox",
"author_name": author
}
).json()
if not acc_data["ok"]:
return await message.edit(self.strings["acc_error"])
token = acc_data["result"]["access_token"]
content = [{"tag": "p", "children": [description]}]
page_data = {
'access_token': token,
'title': title,
'content': json.dumps(content),
'return_content': 'false'
}
response = requests.get('https://api.telegra.ph/createPage', params=page_data)
result = response.json()
if not result["ok"]:
return await message.edit(self.strings["page_error"])
url = result["result"]["url"]
await message.edit(
self.strings["success"].format(url, url)
)