PDA

Просмотр полной версии : | Как сделать бота для ТГ | Aiogram


xionerme
06.06.2023, 13:15
ку, увидел гайд бота на telebot'е (уебанской библиотеке), поэтому решил сделать тему с гайдом на aiogram.

Как создать бота Вы можете посмотреть у автора этой темы (https://www.blast.hk/threads/178986/ (https://forum.antichat.xyz/threads/1478986/)).

python:






from
aiogram
import
Bot
,
Dispatcher
,
types
,
executor
# импорт библиотеки
import
aiofiles

API_TOKEN
=
'сюда токен'
bot
=
Bot
(
token
=
API_TOKEN
)
dp
=
Dispatcher
(
bot
)
@dp.message_handler
(
commands
=
[
'start'
]
)
# команда /start - после её ввода, пользователь получает сообщение "Привет!"
async
def
send_welcome
(
message
:
types
.
Message
)
:
await
message
.
reply
(
'Привет!'
)
@dp.message_handler
(
commands
=
[
'напиши'
]
)
# команда /напиши - использование (/напиши {любой текст}), бот отправит {любой текст}
async
def
mq
(
message
:
types
.
Message
)
:
arg
=
message
.
get_args
(
)
if
arg
==
''
:
await
message
.
reply
(
'Где аргумент?'
)
else
:
await
bot
.
send_message
(
message
.
chat
.
id
,
arg
)
@dp.message_handler
(
content_types
=
'text'
)
async
def
text
(
message
:
types
.
Message
)
:
text
=
message
.
text
# не обязательно, просто я того чтобы не писать миллион раз message.text
if
text
==
'картинку'
:
# если текст, который написал пользователь является текстом 'картинка', то
async
with
aiofiles
.
open
(
'1.jpg'
,
mode
=
'rb'
)
as
f
:
# АСИНХРОННО!!!! открываем картинку. (она должна быть в одной папке с вашим .py файлом)
photo_data
=
await
f
.
read
(
)
await
bot
.
send_photo
(
message
.
chat
.
id
,
photo
=
photo_dat
,
caption
=
'вот картинка'
)
# отправляем эту картинку, caption это текст под картинкой
else
:
await
message
.
reply
(
'я тебя не пониманию'
)
# если ничему не равно.
if
__name__
==
'__main__'
:
executor
.
start_polling
(
dp
,
skip_updates
=
True
)
# запуск бота




мне по***.


https://forum.antichat.xyz/attachments/28321824/img_0fb5ffc859.png

pomidorq
06.06.2023, 13:20
телебот это либа над которой работала команда разработчиков, а какой-то вася залупастик с бластхака просто взял и назвал её уебанской. непорядок...

СоМиК
06.06.2023, 14:42
Синхронное открытие фото в асинхронном боте :)))

chromiusj
06.06.2023, 14:50
Синхронное открытие фото в асинхронном боте :)))


сеньор питон скриптинга сомик кламетович когда анонимного чат бота доделаете

Sadow
06.06.2023, 15:06
Зачем?..

СоМиК
06.06.2023, 15:12
сеньор питон скриптинга сомик кламетович когда анонимного чат бота доделаете


когда одну залупу в продакшн выпущу

xionerme
06.06.2023, 15:28
Синхронное открытие фото в асинхронном боте :)))


работает - не трожь!

p.s.: если тебе это глаза мозолит, то держи

123:






from
aiogram
import
Bot
,
Dispatcher
,
types
,
executor
API_TOKEN
=
'token'
bot
=
Bot
(
token
=
API_TOKEN
)
dp
=
Dispatcher
(
bot
)
async
def
open_image
(
)
:
with
open
(
'1.jpg'
,
'rb'
)
as
photo
:
return
photo
.
read
(
)
@dp.message_handler
(
commands
=
[
'start'
]
)
async
def
send_welcome
(
message
:
types
.
Message
)
:
await
message
.
reply
(
'Привет!'
)
@dp.message_handler
(
commands
=
[
'напиши'
]
)
async
def
mq
(
message
:
types
.
Message
)
:
arg
=
message
.
get_args
(
)
if
arg
==
''
:
await
message
.
reply
(
'Где аргумент?'
)
else
:
await
bot
.
send_message
(
message
.
chat
.
id
,
arg
)
@dp.message_handler
(
content_types
=
'text'
)
async
def
text
(
message
:
types
.
Message
)
:
text
=
message
.
text
if
text
==
'картинку'
:
photo_data
=
await
open_image
(
)
await
bot
.
send_photo
(
message
.
chat
.
id
,
photo
=
photo_data
,
caption
=
'вот картинка'
)
else
:
await
message
.
reply
(
'я тебя не пониманию'
)
if
__name__
==
'__main__'
:
executor
.
start_polling
(
dp
,
skip_updates
=
True
)








Зачем?..


не видел на бх туторов по aiogram.

https://forum.antichat.xyz/attachments/28321903/img_6ecd698d35.png

СоМиК
06.06.2023, 15:37
работает - не трожь!

p.s.: если тебе это глаза мозолит, то держи

Python:






from
aiogram
import
Bot
,
Dispatcher
,
types
,
executor
import
asyncio

API_TOKEN
=
'сюда токен'
bot
=
Bot
(
token
=
API_TOKEN
)
dp
=
Dispatcher
(
bot
)
async
def
open_image
(
)
:
with
open
(
'1.jpg'
,
'rb'
)
as
photo
:
return
photo
.
read
(
)
@dp.message_handler
(
commands
=
[
'start'
]
)
async
def
send_welcome
(
message
:
types
.
Message
)
:
await
message
.
reply
(
'Привет!'
)
@dp.message_handler
(
commands
=
[
'напиши'
]
)
async
def
mq
(
message
:
types
.
Message
)
:
arg
=
message
.
get_args
(
)
if
arg
==
''
:
await
message
.
reply
(
'Где аргумент?'
)
else
:
await
bot
.
send_message
(
message
.
chat
.
id
,
arg
)
@dp.message_handler
(
content_types
=
'text'
)
async
def
text
(
message
:
types
.
Message
)
:
text
=
message
.
text
if
text
==
'картинку'
:
photo_data
=
await
asyncio
.
to_thread
(
open_image
)
await
bot
.
send_photo
(
message
.
chat
.
id
,
photo
=
photo_data
,
caption
=
'вот картинка'
)
else
:
await
message
.
reply
(
'я тебя не пониманию'
)
if
__name__
==
'__main__'
:
executor
.
start_polling
(
dp
,
skip_updates
=
True
)





И что ты сделал гений?) Ты не знаешь базы. Ты называешь гайдом код с говном из трех коллбеков))) Ты блять создаешь асинх. функцию и суешь туда СИНХРОННЫЙ КОД БЛЯТЬ, OPEN СИНХРОННАЯ ФУНКЦИЯ. Удали пожалуйста, не позорься

xionerme
06.06.2023, 15:40
И что ты сделал гений?) Ты не знаешь базы. Ты называешь гайдом код с говном из трех коллбеков))) Ты блять создаешь асинх. функцию и суешь туда СИНХРОННЫЙ КОД БЛЯТЬ, OPEN СИНХРОННАЯ ФУНКЦИЯ. Удали пожалуйста, не позорься


хули ты такой агресивный, сеньор питон давай пиши код если такой умный.

СоМиК
06.06.2023, 15:43
хули ты такой агресивный, сеньор питон давай пиши код если такой умный.


Я агрессивный лишь по отношению к таким как вы, которые создают недогайды, каких в сети дохуя, так еще и с говнокодом, так еще и без информации, которая хоть как то походит на гайд, обучая людей ***не. На*** ты создаешь гайд, если ты нихуя не знаешь сам, смысл, так хочется насрать на форуме? Когда действительно указываешь на недостаток кода, получаешь "работает - не трожь". Ты сделал ***ню, почему ты просто не можешь признать этого?



сеньор питон давай пиши код если такой умный.


У меня нет должных знаний как в питоне, так и в библиотеке Aiogram, тем не менее такие банальные вещи замечаю я, но к сожалению блять не ты, тот, кто написал СУКА ГАЙД

Держу в курсе, есть такая ***ня, как aiofiles

xionerme
06.06.2023, 15:48
Я агрессивный лишь по отношению к таким как вы, которые создают недогайды, каких в сети дохуя, так еще и с говнокодом, так еще и без информации, которая хоть как то походит на гайд, обучая людей ***не. На*** ты создаешь гайд, если ты нихуя не знаешь сам, смысл, так хочется насрать на форуме? Когда действительно указываешь на недостаток кода, получаешь "работает - не трожь". Ты сделал ***ню, почему ты просто не можешь признать этого?

У меня нет должных знаний как в питоне, так и в библиотеке Aiogram, тем не менее такие банальные вещи замечаю я, но к сожалению блять не ты, тот, кто написал СУКА ГАЙД

Держу в курсе, есть такая ***ня, как aiofiles



https://forum.antichat.xyz/attachments/28321915/img_a1db6c8fdd.png

https://forum.antichat.xyz/attachments/28321915/img_50e675ce61.png

https://forum.antichat.xyz/attachments/28321915/img_4531d0ac15.png

Все подходит, разве нет?

обновил под aiofiles, ты теперь не злой?))

СоМиК
06.06.2023, 15:56
Все подходит, разве нет?


Бесполезно говорить тебе что либо, ты необучаемый бибизян

Может быть когда нибудь ты поумнеешь и поймешь, после этого тебя накроет тонной кринжа и неуважения к себе самому (ну, это если ты нормальный человек, способный к самокритике), а пока что я просто буду надеяться на удаление темы со стороны модераторов, так как это не назвать гайдом

chromiusj
06.06.2023, 16:19
Бесполезно говорить тебе что либо, ты необучаемый бибизян

Может быть когда нибудь ты поумнеешь и поймешь, после этого тебя накроет тонной кринжа и неуважения к себе самому (ну, это если ты нормальный человек, способный к самокритике), а пока что я просто буду надеяться на удаление темы со стороны модераторов, так как это не назвать гайдом


харош(емоция сиамского ката)

Mamashin
07.06.2023, 13:22
Что за разврат? Что за оффтоп? Гайды нужно писать с вдохновением, ты бы хоть темку оформил по красоте.

Это бесконечные споры между гайдерами и маленькими любителями экстремального программирования.

К примеру война и мир между vk_api и vkbottle как либы для создания ботов ВК.

И тут тоже столкнулись два самурая, с IDE в руках и блокнотиками на поясе.

Ты ему про двойные стандарты, а он тебе про то что лучше, а вот для кого то telebot будет лучше, ровно так же как в твоих глазах aiogram лучше.

Хранитель Говнокода
23.06.2023, 23:02
ку, увидел гайд бота на telebot'е (уебанской библиотеке), поэтому решил сделать тему с гайдом на aiogram.

Как создать бота Вы можете посмотреть у автора этой темы (https://www.blast.hk/threads/178986/ (https://forum.antichat.xyz/threads/1478986/)).

python:






from
aiogram
import
Bot
,
Dispatcher
,
types
,
executor
# импорт библиотеки
import
aiofiles

API_TOKEN
=
'сюда токен'
bot
=
Bot
(
token
=
API_TOKEN
)
dp
=
Dispatcher
(
bot
)
@dp.message_handler
(
commands
=
[
'start'
]
)
# команда /start - после её ввода, пользователь получает сообщение "Привет!"
async
def
send_welcome
(
message
:
types
.
Message
)
:
await
message
.
reply
(
'Привет!'
)
@dp.message_handler
(
commands
=
[
'напиши'
]
)
# команда /напиши - использование (/напиши {любой текст}), бот отправит {любой текст}
async
def
mq
(
message
:
types
.
Message
)
:
arg
=
message
.
get_args
(
)
if
arg
==
''
:
await
message
.
reply
(
'Где аргумент?'
)
else
:
await
bot
.
send_message
(
message
.
chat
.
id
,
arg
)
@dp.message_handler
(
content_types
=
'text'
)
async
def
text
(
message
:
types
.
Message
)
:
text
=
message
.
text
# не обязательно, просто я того чтобы не писать миллион раз message.text
if
text
==
'картинку'
:
# если текст, который написал пользователь является текстом 'картинка', то
async
with
aiofiles
.
open
(
'1.jpg'
,
mode
=
'rb'
)
as
f
:
# АСИНХРОННО!!!! открываем картинку. (она должна быть в одной папке с вашим .py файлом)
photo_data
=
await
f
.
read
(
)
await
bot
.
send_photo
(
message
.
chat
.
id
,
photo
=
photo_dat
,
caption
=
'вот картинка'
)
# отправляем эту картинку, caption это текст под картинкой
else
:
await
message
.
reply
(
'я тебя не пониманию'
)
# если ничему не равно.
if
__name__
==
'__main__'
:
executor
.
start_polling
(
dp
,
skip_updates
=
True
)
# запуск бота




мне по***.





Я агрессивный лишь по отношению к таким как вы, которые создают недогайды, каких в сети дохуя, так еще и с говнокодом, так еще и без информации, которая хоть как то походит на гайд, обучая людей ***не. На*** ты создаешь гайд, если ты нихуя не знаешь сам, смысл, так хочется насрать на форуме? Когда действительно указываешь на недостаток кода, получаешь "работает - не трожь". Ты сделал ***ню, почему ты просто не можешь признать этого?

У меня нет должных знаний как в питоне, так и в библиотеке Aiogram, тем не менее такие банальные вещи замечаю я, но к сожалению блять не ты, тот, кто написал СУКА ГАЙД

Держу в курсе, есть такая ***ня, как aiofiles


не уважаешь говнокодеров?

SeregaIvanovis
11.11.2023, 21:02
ку, увидел гайд бота на telebot'е (уебанской библиотеке), поэтому решил сделать тему с гайдом на aiogram.

Как создать бота Вы можете посмотреть у автора этой темы (https://www.blast.hk/threads/178986/ (https://forum.antichat.xyz/threads/1478986/)).

python:






from
aiogram
import
Bot
,
Dispatcher
,
types
,
executor
# импорт библиотеки
import
aiofiles

API_TOKEN
=
'сюда токен'
bot
=
Bot
(
token
=
API_TOKEN
)
dp
=
Dispatcher
(
bot
)
@dp.message_handler
(
commands
=
[
'start'
]
)
# команда /start - после её ввода, пользователь получает сообщение "Привет!"
async
def
send_welcome
(
message
:
types
.
Message
)
:
await
message
.
reply
(
'Привет!'
)
@dp.message_handler
(
commands
=
[
'напиши'
]
)
# команда /напиши - использование (/напиши {любой текст}), бот отправит {любой текст}
async
def
mq
(
message
:
types
.
Message
)
:
arg
=
message
.
get_args
(
)
if
arg
==
''
:
await
message
.
reply
(
'Где аргумент?'
)
else
:
await
bot
.
send_message
(
message
.
chat
.
id
,
arg
)
@dp.message_handler
(
content_types
=
'text'
)
async
def
text
(
message
:
types
.
Message
)
:
text
=
message
.
text
# не обязательно, просто я того чтобы не писать миллион раз message.text
if
text
==
'картинку'
:
# если текст, который написал пользователь является текстом 'картинка', то
async
with
aiofiles
.
open
(
'1.jpg'
,
mode
=
'rb'
)
as
f
:
# АСИНХРОННО!!!! открываем картинку. (она должна быть в одной папке с вашим .py файлом)
photo_data
=
await
f
.
read
(
)
await
bot
.
send_photo
(
message
.
chat
.
id
,
photo
=
photo_dat
,
caption
=
'вот картинка'
)
# отправляем эту картинку, caption это текст под картинкой
else
:
await
message
.
reply
(
'я тебя не пониманию'
)
# если ничему не равно.
if
__name__
==
'__main__'
:
executor
.
start_polling
(
dp
,
skip_updates
=
True
)
# запуск бота




мне по***.


асуждаю телебот лучше