
Security News
OpenClaw Advisory Surge Highlights Gaps Between GHSA and CVE Tracking
A recent burst of security disclosures in the OpenClaw project is drawing attention to how vulnerability information flows across advisory and CVE systems.
aiodgram
Advanced tools
The module makes it easier for you to use the basic functions of AIOGRAM, such as sending messages/photos/video and start your bot.
Let's import it first:
First, import class TgBot and types from the library (use the 'from ... import TgBot, types' construct).
Second, create a object from class TgBot (use 'name = TgBot()' construct)
Third, You must write arguments to this object, token: string, admin_username: string
from `...` import TgBot
bot = TgBot(`token`, `admin_username`)
AFTER object_botname = bot
Examples:
@`bot`.dispatcher.message_handler()
async def test:
await bot.send_message(`chat_id`, `text`)
or
@`bot`.dispatcher.message_handler()
async def test:
await bot.send_photo(`chat_id`, `photo_url`, caption=`text`)
or
@`bot`.dispatcher.message_handler()
async def test:
await bot.send_video(`chat_id`, `video_url`, caption=`text`)
You can create your beautiful messages to console with color!
First, import class MyMessages from the library (use the 'from ... import MyMessages' construct)
Second, create a object from class MyMessages (use 'name = MyMessage()' construct)
Third, you must use a message define based on this object (use, 'name.message()' construct)
Fourth, You must write arguments to this define, clear: bool, message:string, colors:string.
Example:
from `...` import MyMessages
my_msg = MyMessage()
print(my_msg.message(clear=`bool`, text=`text`, color=`[green, blue]`))
You can download a video from YouTube using this library!
First, import class DownloadVideo from the library (use the 'from ... import DownloadVideo' construct)
Second, create a object from class DownloadVideo (use 'name = DownloadVideo()' construct)
Third, you must use a Download_This_Video define based on this object (use, 'name.Download_This_Video()' construct)
Fourth, you must write arguments to this define, link_on_video: string, video_name: string, resolution: int
Example:
from `...` import DownloadVideo
video = DownloadVideo()
video.download_This_Video(link_on_video=`link`, video_name=`name of file`, resolution=`720p`)
You can create buttons for your messages!
Example:
from `...` import Button
btns = Button()
keyboard = [
[
btns.add_button(`text`)
],
[
btns.add_button(`text`)
]
]
reply_btns = btns.add_markup(keyboard)
And, you must add object from fourth point to send_message ; send_photo ; send_video in reply_markup argument
Example:
from `...` import Button
btns = Button()
keyboard = [
[
btns.add_inline_button(`text`, `callback`)
],
[
btns.add_inline_button(`text`, `callback`)
]
]
reply_btns = btns.add_inline_markup(keyboard)
And, you must add object from fourth point to send_message or send_photo or send_video in reply_markup argument
First, you must use a define from TgBot (use 'bot.loading()')
Second, you must write argumets to this define, chat_id: int, percentages: int
Example:
bot = TgBot(`token`)
@`bot`.dispatcher.message_handler()
async def test:
await bot.loading(`chat_id`, `percentages`)
Example:
from `...` import Database
db = Database(`filename db`)
db.create_data(`table`, columns=`list`, values=`list`) #Creating a cell in a DB table
db.select_data(`table`, column=`str`, search_column=`str`, search_data=`str`) #Return list with your datas
db.edit_data(`table`, column=`str`, new_data=`any`, search_column=`str`, search_data=`str`) #Edit data in your DB
db.delete_data(`table`, search_column=`str`, search_data=`str`) #Delete data fro DB
Example:
from `...` import MyException
MyException(message='', extra_info=any)
Example:
from `...` import Logged
`log` = Logged(type_logging='info', filename='log.log')
`log`.info(message='')
`log`.error(message='')
`log`.warning(message='')
`log`.critical(message='')
`log`.debug(message='')
Example:
from `...` import PasswordMaker, TgBot, types
bot = TgBot(`token`, `admin_username`)
password = PasswordMaker(bot=bot)
@bot.dispatcher.message_handler()
async def password_maker(message: types.Message):
await password.make(message.from_user.id, 'Input a password lenght')
Example:
from `...` inport TgBot
bot = TgBot(`token`, `admin_username`)
@dp.message_handler()
async def a(message: types.Message):
text = message.text
chat_id = message.chat.id
await bot.edit_message_text(text=text, chat_id=chat_id)
Example:
from `...` inport TgBot
bot = TgBot(`token`, `admin_username`)
your_inline_markup = 'your markup'
@dp.message_handler()
async def a(message: types.Message):
chat_id = message.chat.id
message_id = message.message_id
await bot.edit_message_markup(chat_id=chat_id, message_id=message_id, reply_markup=your_inline_markup)
bot.start_polling(dispatcher=bot Dispatcher, skip_updates=True or False, on_startup=define for start, on_shutdown=define for shutdown).
Example:
from `...` import TgBot
bot = TgBot()
bot.start_polling(`nothing arguments or your arguments`)
authors: Darkangel, Arkeep
authors telegrams: t.me/darkangel58414 and t.me/Stillcrayg
FAQs
This library from easy work with aiogram
We found that aiodgram demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
A recent burst of security disclosures in the OpenClaw project is drawing attention to how vulnerability information flows across advisory and CVE systems.

Research
/Security News
Mixed-script homoglyphs and a lookalike domain mimic imToken’s import flow to capture mnemonics and private keys.

Security News
Latio’s 2026 report recognizes Socket as a Supply Chain Innovator and highlights our work in 0-day malware detection, SCA, and auto-patching.