Skip to content

Commit

Permalink
Remove moved code
Browse files Browse the repository at this point in the history
  • Loading branch information
danog committed Apr 19, 2024
1 parent 3584d83 commit 0e4b4c2
Show file tree
Hide file tree
Showing 25 changed files with 113 additions and 186 deletions.
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/BankCard.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class BankCard extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'bank_card', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Blockquote.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Blockquote extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'block_quote', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Bold.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Bold extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'bold', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/BotCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class BotCommand extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'bot_command', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Cashtag.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Cashtag extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'cashtag', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Code.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Code extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'code', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/CustomEmoji.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@ protected function __construct(array $rawEntities)
parent::__construct($rawEntities);
$this->documentId = $rawEntities['document_id'] ?? $rawEntities['custom_emoji_id'];
}
public function toBotAPI(): array
{
return ['type' => 'custom_emoji', 'offset' => $this->offset, 'length' => $this->length, 'custom_emoji_id' => $this->documentId];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Email.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Email extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'email', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Hashtag.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Hashtag extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'hashtag', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/InputMentionName.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@ protected function __construct(array $rawEntities)
parent::__construct($rawEntities);
$this->userId = $rawEntities['user_id'];
}
public function toBotAPI(): array
{
return ['type' => 'text_mention', 'offset' => $this->offset, 'length' => $this->length, 'user' => ['id' => $this->userId]];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Italic.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Italic extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'italic', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Mention.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Mention extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'mention', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/MentionName.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@ protected function __construct(array $rawEntities)
parent::__construct($rawEntities);
$this->userId = $rawEntities['user_id'] ?? $rawEntities['user']['id'];
}
public function toBotAPI(): array
{
return ['type' => 'text_mention', 'offset' => $this->offset, 'length' => $this->length, 'user' => ['id' => $this->userId]];
}
}
83 changes: 10 additions & 73 deletions src/EventHandler/Message/Entities/MessageEntity.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@ protected function __construct(array $rawEntities)
*/
public static function fromRawEntities(array $entities): array
{
return array_map(static fn (array $entity): MessageEntity => match ($entity['_'] ?? $entity['type']) {
return array_map(self::fromRawEntity(...), $entities);
}

public static function fromRawEntity(array $entity): self
{
return match ($entity['_'] ?? $entity['type']) {
'mention', 'messageEntityMention' => new Mention($entity),
'hashtag', 'messageEntityHashtag' => new Hashtag($entity),
'bot_command', 'messageEntityBotCommand' => new BotCommand($entity),
Expand All @@ -48,86 +53,18 @@ public static function fromRawEntities(array $entities): array
'cashtag', 'messageEntityCashtag' => new Cashtag($entity),
'underline', 'messageEntityUnderline' => new Underline($entity),
'strikethrough', 'messageEntityStrike' => new Strike($entity),
'blockquote', 'messageEntityBlockquote' => new Blockquote($entity),
'block_quote', 'messageEntityBlockquote' => new Blockquote($entity),
'messageEntityBankCard' => new BankCard($entity),
'spoiler', 'messageEntitySpoiler' => new Spoiler($entity),
'custom_emoji', 'messageEntityCustomEmoji' => new CustomEmoji($entity),
}, $entities);
default => throw new AssertionError("Unknown entity type: ".($entity['_'] ?? $entity['type']))
};
}


/**
* Convert entity to bot API entity.
*/
public function toBotAPI(): array
{
$data = ['offset' => $this->offset, 'length' => $this->length];
switch (true) {
case $this instanceof CustomEmoji:
$data['type'] = 'custom_emoji';
$data['custom_emoji_id'] = $this->documentId;
return $data;
case $this instanceof Phone:
$data['type'] = 'phone_number';
return $data;
case $this instanceof Blockquote:
$data['type'] = 'block_quote';
return $data;
case $this instanceof Mention:
$data['type'] = 'mention';
return $data;
case $this instanceof Hashtag:
$data['type'] = 'hashtag';
return $data;
case $this instanceof BotCommand:
$data['type'] = 'bot_command';
return $data;
case $this instanceof Url:
$data['type'] = 'url';
return $data;
case $this instanceof TextUrl:
$data['type'] = 'text_url';
$data['url'] = $this->url;
return $data;
case $this instanceof Email:
$data['type'] = 'email';
return $data;
case $this instanceof Bold:
$data['type'] = 'bold';
return $data;
case $this instanceof Strike:
$data['type'] = 'strikethrough';
return $data;
case $this instanceof Spoiler:
$data['type'] = 'spoiler';
return $data;
case $this instanceof Underline:
$data['type'] = 'underline';
return $data;
case $this instanceof Italic:
$data['type'] = 'italic';
return $data;
case $this instanceof Code:
$data['type'] = 'code';
return $data;
case $this instanceof Pre:
$data['type'] = 'pre';
$data['language'] = $this->language;
return $data;
case $this instanceof TextUrl:
$data['type'] = 'text_url';
return $data;
case $this instanceof Mention:
$data['type'] = 'mention';
return $data;
case $this instanceof MentionName:
$data['type'] = 'text_mention';
$data['user'] = ['id' => $this->userId];
return $data;
default:
throw new AssertionError("Unreachable");
}
}
abstract public function toBotAPI(): array;

/** @internal */
public function jsonSerialize(): mixed
Expand Down
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Phone.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Phone extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'phone', 'offset' => $this->offset, 'length' => $this->length];
}
}
8 changes: 8 additions & 0 deletions src/EventHandler/Message/Entities/Pre.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,12 @@ protected function __construct(array $rawEntities)
parent::__construct($rawEntities);
$this->language = $rawEntities['language'];
}
public function toBotAPI(): array
{
$res = ['type' => 'pre', 'offset' => $this->offset, 'length' => $this->length];
if ($this->language !== '') {
$res['language'] = $this->language;
}
return $res;
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Spoiler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Spoiler extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'spoiler', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Strike.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Strike extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'strikethrough', 'offset' => $this->offset, 'length' => $this->length];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/TextUrl.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,8 @@ protected function __construct(array $rawEntities)
parent::__construct($rawEntities);
$this->url = $rawEntities['url'];
}
public function toBotAPI(): array
{
return ['type' => 'text_link', 'offset' => $this->offset, 'length' => $this->length, 'url' => $this->url];
}
}
4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Underline.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Underline extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'underline', 'offset' => $this->offset, 'length' => $this->length];
}
}
10 changes: 0 additions & 10 deletions src/EventHandler/Message/Entities/Unknown.php

This file was deleted.

4 changes: 4 additions & 0 deletions src/EventHandler/Message/Entities/Url.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,8 @@
*/
final class Url extends MessageEntity
{
public function toBotAPI(): array
{
return ['type' => 'url', 'offset' => $this->offset, 'length' => $this->length];
}
}
12 changes: 0 additions & 12 deletions src/StrTools.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,10 @@

namespace danog\MadelineProto;

use danog\MadelineProto\EventHandler\Message\Entities\Blockquote;
use danog\MadelineProto\EventHandler\Message\Entities\Bold;
use danog\MadelineProto\EventHandler\Message\Entities\Code;
use danog\MadelineProto\EventHandler\Message\Entities\CustomEmoji;
use danog\MadelineProto\EventHandler\Message\Entities\Email;
use danog\MadelineProto\EventHandler\Message\Entities\InputMentionName;
use danog\MadelineProto\EventHandler\Message\Entities\Italic;
use danog\MadelineProto\EventHandler\Message\Entities\Mention;
use danog\MadelineProto\EventHandler\Message\Entities\MentionName;
use danog\MadelineProto\EventHandler\Message\Entities\MessageEntity;
use danog\MadelineProto\EventHandler\Message\Entities\Phone;
use danog\MadelineProto\EventHandler\Message\Entities\Pre;
use danog\MadelineProto\EventHandler\Message\Entities\Spoiler;
use danog\MadelineProto\EventHandler\Message\Entities\Strike;
use danog\MadelineProto\EventHandler\Message\Entities\TextUrl;
use danog\MadelineProto\EventHandler\Message\Entities\Underline;
use danog\MadelineProto\EventHandler\Message\Entities\Url;
use danog\MadelineProto\TL\Conversion\Extension;
use danog\TelegramEntities\Entities;
Expand Down
Loading

0 comments on commit 0e4b4c2

Please sign in to comment.