
Иван
11.07.2018
11:25:55
Фсм...
Пойду читать
А на if нельзя сделать?)

Alex Fox
11.07.2018
11:33:15
Фсм...
одна из фишек aiogram. почитай, что такое FSM

Google

Иван
11.07.2018
11:33:29
Да я уже понял

Йоба
11.07.2018
11:33:33
Фсм...
да просто что юзер у тебя может быть в разных состояниях, придумай их ему и все

Alex Fox
11.07.2018
11:35:52

Иван
11.07.2018
11:35:53
Неужели это так сложно? Запихнуть в хендлер код на хендлерах
Какую-то базу при этом дергать...

Йоба
11.07.2018
11:37:17
сам только недавно в этой теме, поэтому многое предстоит мпонять :D
ну, смотри, у тебя у юзера может быть куча полей, например, сколько у него очков, какой у него язык, сколько денег на счету, какой у него телефон, вообще что угодно, в том числе и поле status, нафига отдельный обрубок FSM с этим статусом, если FSM и так через базу работать будет?

Alex Fox
11.07.2018
11:38:02
ну, смотри, у тебя у юзера может быть куча полей, например, сколько у него очков, какой у него язык, сколько денег на счету, какой у него телефон, вообще что угодно, в том числе и поле status, нафига отдельный обрубок FSM с этим статусом, если FSM и так через базу работать будет?
в таком случае реально проще напрямую дергать поле в базе..

Иван
11.07.2018
11:38:22
Объясните, зачем тут использовать базу?

Alex Fox
11.07.2018
11:38:23
возможно в некоторых случаях фсм можно прикрутить ибо это полезно. но не в данном случае

Йоба
11.07.2018
11:40:24

Иван
11.07.2018
11:40:46
Но в данном случаи зачем база...?
https://pastebin.com/yeJF7xzB

Google

Иван
11.07.2018
11:42:12
Тут есть код на 2 хендлерах. За стикеры и текст.

Alex
11.07.2018
11:42:30

Иван
11.07.2018
11:42:42
Ладно я пойду
Мозги компосировать неудобно)

Йоба
11.07.2018
11:43:22

tEma
11.07.2018
11:44:07
?

Йоба
11.07.2018
11:45:44
Да это не костыль, а норм в его случае, нафига огород?

tEma
11.07.2018
11:46:29
Прикол в том что на фсм будет на 1-2 строки меньше
Разница в данном случае почти никакая
Но если ему вдруг взбредёт в голову чтоб добавить ещё какой то фидбек2 то ему придется добавлять ещё один неудобный иф под другим ключом, а потом ещё, а потом ещё. В итоге придет момент когда нихера не работает какой то метод потому что там тот же огород

Йоба
11.07.2018
11:48:31

tEma
11.07.2018
11:50:29
Ну в любом случае сейчас для этой мелкой функции пусть иф он и легче понятен, а потом фсм надо подучить + же в том что ты можешь сделать любую логику в меньших масштабах, имхо я так воспринимаю. Как оно на самом деле не мне учить))

Иван
11.07.2018
11:52:56

Йоба
11.07.2018
11:52:58
по мне так сам по себе хендлер увесистее выглядит, чем обычный иф, зачем все стремиться по куче хендлеров распихать? просто нужно пропуски строк делать нормально в ифах, вот и все

tEma
11.07.2018
11:54:41
Какая разница, в ифе условие или в хендлере? Обое рябое
Вот на своем примере мне сейчас надо было сделать ожидание контакта, ожидание, локации. В другом случае ожидание только контакта. В третье ожидание контакта и плюс текста. Вот начал я с первого случая на ифах, потом хрен с ним и второй на него прикрутил. Потом начал третий, у меня что то сломалось. Пришлось переписать. Обидно же. А начал бы на фмс сделал бы 3 состояния и все ноль проблем. Нужно ещё добавить способ, добавил четвертое состояние не трогая 3 других. Хоть 10 состояний. А на ифах будешь каждый раз бороться с тем что где то оказывается промах

Йоба
11.07.2018
11:56:06

tEma
11.07.2018
11:56:37
Да я не про это. А про разницу между сделать на иф или сделать на фсм

Йоба
11.07.2018
11:56:54
if state=='zhivoy':
pass
if state =='pomer:
pass

Google

Карабанов
11.07.2018
11:58:31
Привет
У вас есть Script для бота?
Пожалуйста, ответьте
Какой скрипт?
Чат Бот
У вас есть?
Если да, отправьте их мне
Мне нужны телеграм php-коды

Йоба
11.07.2018
11:58:32
вместо этого ты предлагаешшь
<КОНДОВЫЙ ХЕНДЛЕР> (state=zhivoy):
pass
<КОНДОВЫЙ ХЕНДЛЕР> (state=zhivoy):
pass

Бананиум
11.07.2018
11:58:59
!report
Мы примем все необходимые меры, спасибо.

Карабанов
11.07.2018
11:59:27

Dima
11.07.2018
11:59:36

Йоба
11.07.2018
11:59:46
За что? :)
давай ты небоскреб из 100 сообщений еще сюда скинешь?

tEma
11.07.2018
11:59:59

Карабанов
11.07.2018
12:00:23

tEma
11.07.2018
12:00:31

Иван
11.07.2018
12:00:53
одно радует
уроки начинают быть понятнее)

Dima
11.07.2018
12:01:05

Google

Dima
11.07.2018
12:01:22
В лс шлет?

Карабанов
11.07.2018
12:01:31

Sergey
11.07.2018
12:03:54

Карабанов
11.07.2018
12:04:21

tEma
11.07.2018
12:08:42

Карабанов
11.07.2018
12:09:05

tEma
11.07.2018
12:09:16
Сандерс

Sergey
11.07.2018
12:20:42
ничего не понял

Suren
11.07.2018
13:26:29

Dmitri
11.07.2018
13:27:41

Suren
11.07.2018
13:28:52

Dmitri
11.07.2018
13:30:17

Suren
11.07.2018
13:30:26

Dmitri
11.07.2018
13:30:40

αντίχριστος
11.07.2018
14:51:42
Здравствуйте , подскажите пожалуйста.
Что я делаю не так?
if(mb_stripos($mtext,"UserID=") !== false && mb_stripos($mtext,"Text=") !== false ){
parse_str($mtext, $output);
$bot->sendMessage($message->getChat()->getId(),$output['Text']);
}
Пользователь отправляет вот это :
UserID=123321 | Text=asey
И бот в ответку должен отправить :
Ваш ID = 123321
Ваш запрос - asey

tEma
11.07.2018
14:53:40

Андрей
11.07.2018
15:05:53
+

Google

Андрей
11.07.2018
15:06:00
Нужен бот на заказ
Отпишите цены в личку

~/42/elrandir> ?ᅠ
11.07.2018
15:07:18
Ну там это.
А в чем суть ботов, и все такое :?)

Sergey❄️
11.07.2018
15:07:34

~/42/elrandir> ?ᅠ
11.07.2018
15:07:53
Не
Ну 25$ в час

SERH39
11.07.2018
15:10:08

~/42/elrandir> ?ᅠ
11.07.2018
15:10:28


@LyoSU
11.07.2018
15:14:11
MadelineProto was updated!
- Huge bugfixes and perfomance improvements!
- Better CLI/web login UI!
- Added automatical TOS flow!
Now, when and if telegram decides to update their TOS, MadelineProto will throw a \danog\MadelineProto\Exception with message "TOS action required, check the logs", and the logs will contain the full terms of service.
You will be required to accept them or refuse them, using the accept_tos() or decline_tos() methods.
Note that the decline_tos method will also delete your account, due to the TOS.
- Updated @magnaluna!
- HUGE file upload/download speed improvements!
- Implemented automatic message splitting if the length is bigger than 4096, even for markdown and HTML messages!
- You can now omit all string, byte and array parameters, they will be automatically populated by MadelineProto!
- COMBINED EVENT DRIVEN UPDATE HANDLING: https://docs.madelineproto.xyz/docs/UPDATES.html#combined-event-driven
You can now use a single event handler to manage updates from multiple MadelineProto instances! Very useful for group management bots coupled with inline bots.
- And, most importantly:
LAYER 82: tons of new features, edit media messages, Telegram Passport, Telegram Login, account export and MTProto proxies!
BOTS:
- New inputBotInlineResult for sending webdocument objects as inline results, that once sent and received as botInlineResult by the user, can be downloaded/proxied through telegram using upload.getWebFile.
TELEGRAM PASSPORT:
- New account.getAuthorizationForm method (bots) for sending the telegram passport authorization form.
- New account.acceptAuthorization method for accepting the authorization form.
- New account.saveSecureValue method for saving a telegram passport secure value (like your passport, your ID card, and so on...).
- New account.getSecureValue method for getting a telegram passport secure value.
- New account.getAllSecureValues method for getting all telegram passport secure values.
- New account.deleteSecureValue method for deleting a telegram passport secure value.
- New user.setSecureValueErrors method for notifying the user about errors in a telegram passport secure value.
GDPR ACCOUNT EXPORT:
- New account.initTakeoutSession for initialising account export.
- New account.finishTakeoutSession for ending account export.
- New channels.getLeftChannels method for fetching a list of channels you left!
- New messages.getSplitRanges method for fetching a list of message IDs to download!
- New invokeWithTakeout and invokeWithMessagesRange methods for calling takeout methods like messages.getHistory, messages.getDialogs.
MESSAGES:
- New messages.report method for reporting messages in groups
- messages.editMessage can now be used to edit MEDIA messages!
- New help.getDeepLinkInfo method for fetching info about deep links!
- New messageActionBotAllowed service message for telegram login notifications!
- New messageEntityPhone and messageEntityCashtag entities for blue link goodies in messages!
VCARD/CONTACTS:
- New vcard parameter for inputMediaContact to use with sendMedia!
- New vcard parameter for messageMediaContact, to be received in updates!
- New contacts.getSaved method for fetching all saved contacts.
- New contacts.toggleTopPeers method for deleting/adding top peers (the users you see when you click the search button in the app).
PROXIES:
- New help.getProxyData method for fetching info (sponsored channels) of the current proxy!
UNREAD CHATS:
- New updateDialogUndreadMark for updates for when you manually mark a dialog as unread using messages.markDialogUnread; use messages.getDialogUnreadMarks to get a list of all dialogs marked as unread manually.
- Improved stickerSet constructor for stickerpacks!
Stay tuned for updates, now that my exams are over, cool new proxy POCs coming up, along 100x speed improvements with asynchronous magic and long-awaited snakes!


Timur
11.07.2018
15:23:05
добрый вечер. почему при отправке в telegraf документа через sendDocument или replyWithDocument он присылает его c названием document.dat, хотя изначально назывался output.docx? вывел в консоль объект потока, который передаю в качестве source, там ничего подобного нет

Sergey❄️
11.07.2018
15:25:42

Timur
11.07.2018
15:25:56
название файла

Sergey❄️
11.07.2018
15:26:59
Майм тайп значит плохо жрется телегой