ToCode
Ir al canal en Telegram
ืืืคืื ืงืฆืจืื ืืืชืื ืชืื ืืืช ืื ืื ืคืจืง
Mostrar mรกs1 421
Suscriptores
Sin datos24 horas
+37 dรญas
-430 dรญas
Archivo de publicaciones
1 421
return
raise AttributeError(
f"Attribute `{key}` of class `{self.__class__.__name__}` can't be set!"
)
7. ืืืจื ืืจืืกืช _send_message ื ืฉืืจ ืจืง ืืฉืืื ืืช ืืืืืขื ื process_update ืืืืืื ืืช ืืืืืขื ืฉืืืื ืฉืืื ืืจื ืืืืงื ืฉื ืืงืจืืืืช ืฉืืืฆืขื ื Mock ืืฉืืจื ืืืืจืื ื ืฉื ืืืืืงื.1 421
# ืชืื ืืช ืืืชืืืช ืืืืงื ืืืื ื python-telegram-bot
ืกืคืจืืืช python-telegram-bot ืืฆืืขื ืืืฉืง ืืืื ืืงืืฃ ืืื ืืืช ืืืืื ืืืืืจื. ืืกืคืจืื ืืืืขื ืขื ืืื ืกืืฃ ืืืืืืืช ืืชืืขืื ืืคืืจื, ืืืืจืืช ืืืช ืืืฃ ืขื ืืชืืืช ืืืืงืืช ืืืืงื ืฉืืื ืืืขื ืจืืง. ืืืจื ืงืฆืช ืืคืืจื ืืงืื ืฉืืื ืืืขืชื ืืชืื ืืช ืืืื ืืืืืงืช ืืืืื ื pytest ืืืื ืฉืืชืื ื python-telegram-bot. ื ืชืืื ืืงืื ืืืืจืื ืืืกืืจืื:
from telegram import Message, MessageEntity, User, Chat, Update
import pytest
from unittest.mock import MagicMock
from datetime import datetime
import client.telegram.bot as bot
@pytest.mark.asyncio
async def test_create_user(monkeypatch):
with monkeypatch.context() as m:
app = bot.create_application()
await app.initialize()
message = Message(
message_id=0,
date=datetime.utcnow(),
chat=Chat(3, "private"),
from_user=User(first_name='Misses Test', id=123, is_bot=False),
text="/start",
entities=[MessageEntity(type=MessageEntity.BOT_COMMAND,
offset=0, length=len('/start'))]
)
message.set_bot(app.bot)
send_message = MagicMock()
m.setattr(app.bot, "_send_message", send_message)
await app.process_update(Update(update_id=0, message=message))
assert 'Hello World' in send_message.call_args[0][1]['text']
ืืืงืื ืขืืืจ ืืืื ืืืชืืื, ืืชืื ืงืืืฅ ืฉืืืืืื ืฉืื ื ื ืงืจื client/telegram/bot.py ืืืื:
async def start_conversation(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(f"Hello World")
def create_application():
# Create the Application and pass it your bot's token.
token = os.environ.get("TELEGRAM_BOT_TOKEN")
application = Application.builder().token(token).build()
application.add_handler(CommandHandler('start', start_conversation))
return application
def main() -> None:
"""Start the bot."""
application = create_application()
# Run the bot until the user presses Ctrl-C
application.run_polling()
if __name__ == "__main__":
print("Starting...")
main()
ืืืื ื ืจืื ืื ืืื ืื ื:
1. ืงืื ืืืืืงื ืืื ืคืื ืงืฆืื ืืกืื ืืจืื ืืช. ืืฉืืื ืฉืื ืืขืืื ืืฉ ืืืชืงืื ืืช ืืคืืืืื pytest-asyncio.
2. ืืืืืงื ืฆืจืืื ืืืืืฃ ืืืืขืช /start ืืื ืฆืจืืื ืืืืื ืฉืืืื ืขื ื ืืืืืขืช Hello World. ืืฉืืื ืื ืื ืื ื ืืืฉ ืืืฆืจืื ืืช ืืืื (ืชืืืืช ืงืื ืืืืืงื) ืืืคืขืืืื ืืช app.initialize ืฉืื ืคืื ืงืฆืื ืฉื python-telegram-bot ืฉืืืืืช ืืื ืืื ื ืืืชืืืืื. ืืืืืืจ ืจืืื ืืืืืจื ืงืจืืื ื run_polling ืืคืขืืื ืืช ื initialize ืืืืืืืืช.
3. ืืคืื ืงืฆืื process_update ืืื ื ืงืืืช ืืื ืืกื ืืืื ืืืื ืืงืืืช ืืืืืงื ืืืืขื ืืื ืชืืช ืืืชื ืืคืื ืงืฆืืืช ืืืืคืื ืืืชืืืื ืืคื ืืืืืื ืฉืืืืืจ ืืืื (ืืื ืคืงืืืืช ื add_handler ืฉืจืืืื ืืงืื ืืืื). ืืงืื ืืืืืงื ืืฉืชืืฉืื ืื ืืื ืืฉืืื ืืช ืืืืขืช ื /start.
4. ืืฆืืจืช ืืืืืงื ืืืืืขื ืืงืื ืืืงืืช ืืช ืจืื ืฉืืจืืช ืืงืื ืืืืืงื. ืื ืฆืจืื ืืืืฆืื ืืช ืื ื fixture ืขื ืขืจืื ืืจืืจืช ืืืื ืืืืื ืืื ืืืื ืืืกืื ืืื ืชืืืื ืืื ืืืืงื. ืฉื ื ืืืืจืื ืืืฉืืืื ืืื ืื ืืงืกื ืืืืืขื ืืจืฉืืืช ืืืฉืืืืช ืฉืื, ืื ืืื ืืืืจืื ืฉืืืื ืฉืื ื ืืจืื.
5. ืืคืงืืื set_bot ืืื ืฉืืืคืฉืจืช ืืชืื ืงืื ืืืื ืืืฉืช ื update.message.reply_text, ืืืื ืฉืืจ ืืคืื ืงืฆืืืช ืฉื ืืืื ืืจื ืืืืืงื ืืืืืขื.
6. ืืฉืืื ืืงืื ืืืืจื ืืืืืงื ืืช ืืคืจืืืจืื ืฉื ืฉืืื ืืคืื ืงืฆืืืช ืฉืืืืช ืืืืืขื (ืืื ืฉืืื ืืืืจืื ืืืืฉืื ืืืืืจื ืืืจืฆื ืืืืชืืช ืฉื ืืืื), ืื ื ืืืฆืจ MagicMock ืืฉืืืจ ืืืชื ืืฉืื _send_message ืฉื ืืืืืงื ืืืื. ืืคืื ืงืฆืื _send_message ื ืืขืื ืืฉืืืืฉ ืคื ืืื ืืืื ืืคืฉืจ ืืืจืืก ืืืชื. ื ืืกืืื ืืืจืืก ืคืื ืงืฆืืืช ืฆืืืืจืืืช ืฉื ืืืื ืืืืฉื ืืืื ืืงืื ืืื ืืชืื ืกืคืจืืืช python-telegram-bot ืืืืืืงื ืืืื:
def __setattr__(self, key: str, value: object) -> None:
"""Overrides :meth:`object.__setattr__` to prevent the overriding of attributes.
Raises:
:exc:`AttributeError`
"""
# protected attributes can always be set for convenient internal use
if key[0] == "_" or not getattr(self, "_frozen", True):
super().__setattr__(key, value)1 421
# ืืื ืืืข ืื
ืืฉืจืืฆืื ืืื ืืช ืืขืจืืช ืฉืชืขืืื ืืืืจื ืืื ืืื ืฉื ืฆืืจื ืืชืืืง ืืืชื ืืืื ืืืกืืกื ืืื ืืืคืฉ "ืคืืืช ืืืงืื ื ืขืื" ื"ืืืชืจ ืฉืืืื".
ืคืืืช ืืืงืื ื ืขืื ืืืืจ ืฉืืฉ ืคืืืช ืืืจืื ืฉืืืืืื ืืืืฉืืจ. ืืืชืจ ืฉืืืื ืืืืจ ืฉืืฉ ืืื ืฉืื ืืืจืื ืคืืืช ืืืืื ืืืืช ืืขืฉืืช ืฉืื ืืืื ืฉืืฉืืจื ืืช ืืงืื ืฉืืื. ืืื ืืืืื ืช ืชืืืืงื (ืื ืืืชืจ ื ืืื ืืืกืจ ืืฆืืจื ืืชืืืืงื)-
1. ืืขืจืืช ืฉืจืฆื ืขื ืฉืจืช ืฉืื ืขืืืคื ืขื ืืขืจืืช ืืขื ื.
2. ืืขืจืืช ืฉืจืฆื ืืขื ื ืขืืืคื ืขื ืืขืจืืช ืฉืชืจืืฅ ืืืคืืคื ืืฆื ืืฉืชืืฉืื.
3. ืงืื ืฉืื ื ืืชืืชื ืขืืืฃ ืขื ืฉืืืืฉ ืืกืคืจืื ืงืืืืช.
4. ืกืคืจืื ืงืืืืช ืขืืืคื ืขื ืคื ืืื ื API ืฆืืืืจื ืฆื-ืฉืืืฉื.
5. ืืืืืื (fork) ืกืคืจืื ืงืืืืช ืขืืืฃ ืขื ืืชืืืช ืงืื ืฉืืฉืชืืฉ ืืื ืื ืื ืื ืื ืืชืืขืืื ืฉืื.
6. ืืืฉืง ืืืืกืก ืืงืกื ืขืืืฃ ืขื ืืืฉืง ืืจืคื.
7. ืืื ืงืื ืคืชืื ืขืืืคืื ืขื ืืืื ืงื ืืื ืืื.
8. ืฉืืืจืช ืืืืข ืืงืืฆื ืืงืกื ืขืืืคื ืขื ืฉืืืจืชื ืืืกืืก ื ืชืื ืื.
9. ืฉืืืืฉ ืืืืืข ืืงืืื ืขืืืฃ ืขื ืฉืืืืฉ ืืืืืข ืืืจืฉืช.
1 421
# ืืืืื ืืื ืืืจ ืื ืืขื
ืืืชืจืช ืืื ืืจืงืจ ืืืืืขื ืขื ืฉืื ืื ืกืืจื ืืขืืืคืืืืช ืืืืืืง ืืืืขืืจ ืืืืืก ืืืืกืก ืืขืื ืืืืื ืืืจื ืืืืืก ืืืืืื ื. ืืฆืืืื ืืชืื ืืืชืื ืืืืจืช ืืืืื ืืชื, ืื ืืืช ืืฉืืืช ืืืจืืื ืฆืืคื ืื "ืืืขื ืฉื ืืืืจืืช ืืื ืืฉืืจ ืืช ืืขืืืืื ืืงืืืืื ืืืืืืก ืืช ืืืืขืื ืืืื ืืืืชืจ โ ืืืื ืืืืงื ืืช ืื ืฉืขืื ื ืขื ืืขืื ืืืืืื".
ืฆืจืื ืืฉืื ืื ืืืืื ืืืืช ืืืืืื ืื ืืชื ืฉืืืืื ืืืืืืืกืืืช ืืื ืืืืฆืืืช. ืืื ืืืคืื ืืืืฉืืืช:
1. ืืชืืจืืช ืงืฉื ืืืืืื ืขืืืจ ื'ืื ืืืจืื ืื ืขืืืจ ืขืืืืื ืืจืืืงืื.
2. ืืชืงืืคื ืฉืืคื ื ืืงืืจืื ื, ืืฆื ืื ืืจืื ืืฉืืืข ืขื ืขืืืืื ืืืื ืืืืฉืจืื ืฉืื ืงืืืื ืืืืื ืืืืช ืจืง ืืืื ืืจืืง ืคืืื. ืื ืืืื ืื ื ืจืืื ืืจืื ืืืจืืช ืืืจืฅ ืฉืืขืืืคื ืืืืืก ืื ืฉืื ืงืจืืืื ืืืืืื, ืืคืืื ืืืื ืชื ืืืขืื ืื ืืืขืืืช ืืืืื ืืืชืจ ืฉืคืืืช ืืชืืืืื ืืชืื ืืช (ืคืืืช ืืืขืืจ, ืืื ืขืืืื ืืืชืจ ืืื).
3. ืืื ืคืชืืืื ืืืืืื ืืืืช ืื ืืื"ื. ืืคืขืืื ืืืชืจ ืงื ืืฉืคืจ ืืช ืืื ืืืืช ืืืฉืจ ืืขืืืจ ืืืืืกืื ืฉืคืืืืื ืืืขืืช.
4. ืืฉืืชืืจืืช ืืชืืืงืช ืขืื ืืืชืจ ืืชืืืง ืืฆืืจื ืืืืืข ืขื ืชืืง ืขืืืืืช, ืคืจืืืงืืื ืืืืข ืืื ื. ืื ืชืชืคืฉืจื ืขื ืื ืื ืืฉื ืจืื ืฉ"ืืืืื ืื ืื ืืขืืืจ". ืื ืื.
5. ืืืจื ืฉืืืืืช ืืืื ืืจื ื ืืื ืืจืื ืืืชืจ ื"ืืืฆืื ืืฉืจื ืืืืจืช ืืืืืง". ืืคืฉืจ ืืขืืื ืืคืจืืืื ืก, ืืคืฉืจ ืืื ืืช ืคืจืืืงื ืืืืืืจ ืืืชื ืืื ืืจืฉืช. ืืืคืฉืจืืช ืืขืืื ืืฉืืื ืขืฆืืื ืืคืืชืื ืืืื ืืจื ื ืืื ืืืื ืืืืคืื ืืืืืื ืืืืชืจ ืฉื ืืืืจ ืฉืื ื.
6. ืื ืงืืื ืืืจืื ื ืืื ืืืื - ืื ืืื ืืืืก ืืืืื ืืืืขืื ืืืคืฉ "ืืฆืืืืช", ืฉืื ืื ืฉืื ืฉืืฉ ืืื ืืืืื ืืช ืืื ืืช ืืืืืืช ืืืื ืืชืจืื ืืคืจืืืงื, ืืื ืืกืืืืช ืื ืจืืืื ืืืืช ืืืจืื ืื ืืืืืกืื ืืืชื. ืืืืงื ืืชืงืืคื ืืืืช ืฉืืื ืืืคืฉ ืฆืืืื ืจืืฉืื ืืืืื ืืืชืจ, ืฉืืืขื ืืืชืจ ืืช ืืืชื ืื ืฉืื.
1 421
# ืืืค neo4j: ืืืืื ืฆืืชืื
ืืื ืืืืจืื ืืืคืืืืื ืืขืืืื ืขื neo4j ืืื ืฉืืื ืื ืกืืืื ืืืื ืืจืื ืคืขืืื ืื ื ืืืฆื ืืช ืขืฆืื ืืจืืฅ ืงืื ืืฉืื ืื ืืื ื ืืืกืืก ืื ืชืื ืื. ื ืืื, ืื ื SQL ืขืฉืืชื ืืช ืื ืืื ืคืขื ืืื ืืืืฉืื ืขื SQL ืื ืงืจื ืคืืืช. ืืืกืจ ืืืื ื ืฉื neo4j ืืขืืืจ ืืช ืืืฉืงื ืืงืื, ืืืฉืืื ืฉืืงืื ืืืฉืืจ ืคืฉืื ืฆืจืื ืื ืืืื ืืกืืจ ืืช ืืกืืก ืื ืชืื ืื.
ืืืืค ืฉื ืืืื ื ืจืฆื ืืจืืืช ืื ืงืืจื ืืฉืืฉ ืื ื ืฆืืชืื ืฉืคืขื ืืื ืฆืืชืื ืฉืื ืื, ืืื ืื ืืื ื ืฉืฆืจืื ืืืื ืืืชื, ืื ืฉื ืืฆืจื ืืชืืจ ืฆืืชืื ืฉืื ืื ืืืขืืช. ืืืืืื ื ื ืื ืฉืืฉ ืื ืืกืืก ื ืชืื ืื ืฉื ืืืืื. ืื ืืืื ืืื ืฆืืืช ืืืืื ืงืืฉืืจ ืืชืจืืืืื ืฉืื ืืฉืคืืช ืืืจืืช (ืื ืื ืฆืืชืื). ืืืื ืืื ืืงืื ื ืืฆืจื ืืืขืืช ืืกืคืจ ืฆืืชืื ืืืืชื ืืืื, ืืื ืืืืื ืืกืื ืืงืืืืช ืืืจืื ืืงืื, ืืืืืื ืื ืฆืจืื ืืืฆืื ืชืจืืื ืฉื ืืืื ืื ืืืืข ืืืจ ืขืืื.
ืืืฆื ืืื ืืคืฉืจ ืืืจืืฅ ืืช ืืฉืืืืชื ืืืื ืืื ืืืื ืฆืืชืื ืฉืื ืื ืืืืืืื ืืงืกื ืฉื ืืืชื ืืืื:
MATCH (w:Word)-[:IN_LANGUAGE]-(l:Language)
CALL {
WITH w
MATCH (m:Word)-[:IN_LANGUAGE]-(l)
WHERE m <> w AND m.text = w.text
RETURN w AS innerWord
}
WITH innerWord.text as text, collect(innerWord) AS nodes
CALL apoc.refactor.mergeNodes(nodes) YIELD node
RETURN node;
ืืืื ื ืงืจื ืื ืชืจืื:
1. ืฉืืจื ืจืืฉืื ื ืืืคืฉืช ืืืืื. ืื ืคืขื ืฉืืื ืืืฆืืช ืืืื ืืืกืืก ืื ืชืื ืื ืืื ืฉืืืจืช ืืช ืืฆืืืช ืืืฉืชื ื ืืฉื w, ืืืช ืืฉืคื ืฉืื ืืืืื ืืชืืื ืืืฉืชื ื ืืฉื l.
2. ืืชืื ืืืืง ื CALL ืืืคืขืืช ืชืช-ืฉืืืืชื. ืชืช ืืฉืืืืชื ืืืงืืช ืืช w ืืืืืฅ ืืืืคืฉืช ืฆืืชืื ืืืจืื ืฉื ืืืืื ืฉืืื ื w ืืื ืื ืืืืชื ืฉืคื ืืืฉ ืืื ืืช ืืืชื ืืงืกื.
3. ืืืืฅ ืืืืืง ื CALL ืืคืงืืื WITH ืืืืฆืจืช ืืืจืืฆืื ืืืกืืจืช ืืช ืืฉืืจืืช ืฉืืืืจืืช ืืืฉืืืืชื - ืืื ืฉืืจื ืืืื ืืืงืกื ืฉื ืืืืื ืืจืฉืืืช ืื ืฆืืชื ืืืืืื ืฉืืฉ ืืื ืืช ืืืงืกื ืืื.
4. ืคืงืืืช ื CALL ืืฉืืจื ืืืคื ื ืืืืจืื ื ืืืืืช ืืช ืื ืืฆืืชืื ืืื ืฉืืจืช ืคืื ืืืกืืฃ ืืืืืจื ืืช ืืฆืืืช ืฉื ืืฆืจ.
ืกื ืืื Cypher (ืฉืื ืฉืคืช ืืฉืืืืชืืช ืฉื neo4j) ืืืชืจ ืคืฉืื ืืืชืืื ืืงืจืืื ื SQL, ืืืืื ืืืื ืคืื ืงืฆืืืช ืืืื ืืช ืืื collect ื mergeNodes ืฉืขืืืจืืช ืืืชืืืช ืฉืืืืชืืช.
ื .ื. ืืคืื ืฉืืืืจ ืืื ืืืืื ืืืกืจ ืืชืืืื ืฉื neo4j ืืืื ืืงืก ืืืืืื ืขื ืืกืคืจ ืืืคืืื ืื (ืืืงืจื ืฉืื ื ืืงืกื ืฉื ืืืื + ืืฉืคื ืฉืื). ืืฉ ืฉืืืขื ืฉืื ืื ืื ืืื ืงืืื ืืืืจืกืช ื Enterprise ืฉืืื ืืื ืื ื ืืกืืชื. ืืืคืฆืื ืฉืื ืขืืืืช ืืืงืื ืืืืชืงื ืืืืืื ืืกืื ืื ืืื ืืืฆืืจ ืืืคืืื ืืืืืื ืืฆืืืช ืฉืืืื ืืืจืื ืืืืงืกื ืฉื ืืืืื ืืงืื ืฉืคื ืฉืื. ืืืืื ืฉืื ืฆืจืื ืืืืืจ ืืืฆืืจ ืืืขืืื ืืช ืืืืคืืื ืืื ืืชืื ืืงืื ืืื ืขืืืื ืขื ืืฆืืืช.1 421
# ืืกืืคืืจ ืกืืื "ืื ืกืืืืชื ืืช ืื ืืชืจืืืืื"
"ืืืืื ืืืื ืืฉ ืืื ืฉืขื ืืขืืื, ืืกืืฃ ืืฉืขื ืชืฆืืจืื ืืืืืฉ ืืชืงืืื ื ืงืืืืช ืืืืคื ืืืกื ืืืกืคืจ ืืฉืืืืช ืฉืคืชืจืชื" ืืื ื ืืฉืคื ืฉืชืฉืืขื ืืืกืืจืช ืืืืืืืช.
ืืฉ ืื ื ืกืืคืืจ ืกืืื "ืืกืืื ืืช ืื ืืชืจืืืืื". ืกืืื ืืชืจืืืืื ื ืืชื ืชืืืฉื ืฉื ืืืฉืืืืช ืืืืืืื. ืื ื ืืืืข ืฉืื ื ืขื ืืืกืืื. ืื ื ืืืืข ืฉืื ื ืืกืืจ. ืื ื ืืืืข ืฉืืกืืฃ ืืืกืืื ืืฆืืื ืืขืฉืืช ืืช ืื ืฉืจืฆืืชื. ืืฆืืืชื ืืกืื ืื ืืื ืืืฉืืฆืืช. ืขืฉืืชื ืืช ืื ืฉืฆืจืื.
ืืืกืืคืืจ ืืื ืืืื ืืืชื ื ืืจืื ืืขืืจ ืืชืจืืืืื. ืืื ืืืฉื ืืืชื ื ืืืืฉืื ืืืฉืงืืข ืืืืจืื ืืืจื ืฉืื ืืืจ ืื ืจืืืื ืืืื ืขืืืจื ื (ืื ืืืจ ืืชืืืชื ืื ืฆืจืื ืืกืืื). ืืื ืืฉืืืจ ืืืชื ื ืืืืืื ืื ืฆื ื Infinite Scroll (ืื ืืืคื ืืืืืง ืื ื ืืืจ?). ืืื ืืืจืื ืื ื ืืช ืืืืืืืฆืื ืืฉืืืฉืืื ืืืืื ืืื, ืืืืฆืจ ืืขืืคื ืืคืชืืจ ืืืืื ืงืื ืื ืขื ืคื ื ืจืืคืงืืืจืื ื ืืื ืืืช ืชืฉืชืืืช. ืืชืจืืื ื ืฉ"ืื ืกืืืืชื ืืช ืื ืืชืจืืืืื" ืืื ืืงืื ืจืข ืืืืืช ืื.
ืืืืฉืืช ืืืืืืช ืื ืฉืืฉืืชื ืืืืช ืืืืช ืขืืืืช ืืืืืชื ื ืืื ืืืืื ืืืืืช ืชืืจืืฅ ืืืืืืฆืื ืจืฆืื ื. ืื ืื ื ืืืืืื ืืชืืื ืืช ืืืขืจืืช, ืืืืง ืืฉืืืืช ืืืืืืช ืืืฉืืงืื ืื ืงืื ืื ืืืืฆืืจ ืืจืืืื ืฉืืขืืจื ืื ื ืืืฉืื ืืืจืืช ืืจืืืืช ืืืื. ืืฉืืชื ืืืื ืืื ืืืื ืขืืื ืืคืฉืจ ืืฉืืง ืขื ืื ืืืืืชื (ืื ื ืืกืชืื ืขืืื ืืืืืืื ืื).
ืืืืฉืืช ืืจืขืืช ืื ืืฉืืชื ืืืืช ืืืืช ืขืืืืช ืืจืขืชื ื ืืคืขืืื ืงืฉื ืืจืืืช ืืช ืื. ืืงืจืื ืฉืขื ืืืื ืกืคืจ ืืฉืคื ืืจื ืืืื ืขืืืจ ืืืืื ืืช ืืฉืคื; ืืืืจืื ืืช ืขืฆืื ืืงืจืื 10 ืขืืืืื ืืืืชื ืกืคืจ ืขืืื ืืืฆืืจ ืืคืงื ืืคืื ืืืืืจืื ืืช ืืืืืืืฆืื. ืืืชืขืงืฉ ืืกืืื ืืช ืื ืืืืื ืืฆืืืช ืจืง ืืืื ืฉืืืขืืช ืืงืืช ืืืชืจ ืืื ืื ืื ืืืฉื, ืืื ืืืืื ืืชืืจ ืื ืืืช ืืกืคืื ืืฉืขืืืื ืืืชื ืื ืื ืฆืจืื ืืืืฉืื ืขื ืืคื ืกืื ืจืง ืืืื ืฉืื ืื ืฉืืืืช.
ืกืืืืช ืืช ืื ืืชืจืืืืื? ืืืื. ืกืืืืช ืืืง ืืืชืจืืืืื? ืืฆืืื. ืกืืืืช ืืืชืจ ืืื ืฉืืืคืืข ืืจืฉืืื? ืืืื. ืื ืื ื ืคื ืืฉืืื ืืืืื ืื ืืฉืืื ืืกืื ืื.
1 421
# ืืืค ืคืืืชืื: ืืจืฆืช ืงืื JavaScript ืขื js2py
ืืืืืื js2py ืืื ืกืื ืฉื ืงืกื - ืืื ืืืงื ืงืื JavaScript ืืืชืจืื ืืืชื ืืคืืืชืื, ืื ืฉืื ืื ื ืืืืืื ืืืคืขืื ืงืื ืืืืชืืืฉืง ืขื ืืชืืฆืื ืืชืื ืืคืืืชืื ืฉืื ื. ืื ื ืืืืข ืจืื ืืืื ืืืื ืจืืฆืื ืืืชืื ืคืืืชืื ืืืงืืคื ืืืชื ื JavaScript ืืื ืฉืื ื ืฆืืจื ืืืชืื JavaScript ืืื ืคื ื Use Case ืฉืื ื.
ืืืืืื ืขืืืจ ืืคืจืืืงืื Web Scraping ืื ืืืืงืืช, ืืฉืื ืื ื ืื ืจืืฆืื ืื ืฆืจืืืื ืืืคืขืื ืกืื ืืื ืืื ืืืกื ืืื ืจืืฆืื ืืจืืืช ืฉื JavaScript ืขืื ืืกืคืืง ืืื ืื ืืงืื ืืื ื ืืืืข. ืืืจืื ืืชืจืื ืืฉ ืงืืืฅ JavaScript ืฉืืชืืจ ืื ืืื ื ืืืคืฆืืืช ืฉื ืืืชืจ, ืืืืืื ืืืชืจ ืฉื dramatiq ืืฉ ืงืืืฅ JavaScript ืฉื ืจืื ืื:
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '1.14.2',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
FILE_SUFFIX: '.html',
LINK_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt',
NAVIGATION_WITH_KEYS: false,
SHOW_SEARCH_SUMMARY: true,
ENABLE_SEARCH_SHORTCUTS: true,
};
ืื ืื ืื ื ืจืืฆื ืืืฉืชืืฉ ืืืืืข ืืื ืืงืื ืคืืืชืื ืฉืืืืง ืืช ืืืชืจ ืื ืฉืืืฉื ืืื ื ืืืืข? ืื ืื ื ืืืื ืืคืจืกืจ ืืช ืืืงืกื, ืืื ืื ืืืื ืืืชืจ ืงื ืคืฉืื ืืืจืืฅ ืืช ืืงืื ืืืงืืช ืืช ืืืืืืงื ืืชืืจ Dictionary? ืืกืชืืจ ืฉืขื js2py ืื ืืืื ืคืฉืื:
code = requests.get('https://dramatiq.io/_static/documentation_options.js').text
ctx = js2py.EvalJs()
ctx.execute("document = {getElementById() { return {getAttribute() { return null }}}}")
ctx.execute(code)
print(ctx.DOCUMENTATION_OPTIONS)
data = ctx.DOCUMENTATION_OPTIONS.to_dict()
print(len(data))
ืืชืืื ืืช ืชืืคืืก ืืช ืืืืืืงื ืืชืืจ ืืืืื ืฉื ืคืืืชืื ืืืืจ ืื ืืช ืืกืคืจ ืืืคืชืืืช ืฉืื.
ืืื ืืืืกืจืื ืืืจืืจ ืืืืฉื ืื ืืื ืฉืืื ืื ื ืืืฉื ื APIs ืฉื ืืืคืืคื ืืืืืื ื Document, ืื ืืงืืฆื js ืฉืืืืฉืื ืฉืขืืืืื ืขืืื ืืืขื ืืืืืืืืช. ืืขืืืื ืื ืืชื ืืืื ืื ืืืชืื ืืื mock-ืื ืฉืืืืฉ ื js2py ืืืื ืืืกืื ืขืืืืช ืชืจืืื ืืฉืฆืจืื ืืฉืื ืืื ืฉืชื ืืฉืคืืช.1 421
# ืืื ืฉืืื defaultProps ืขื ืคืื ืงืฆืืืช
ืื ืฉืื ืืื ืฆืจืืืื ืืช ืื, ืื ืงืืืคืื ื ืืืช ืงืืืก ืืืจ ืืืืื ืื ืื ืื ืืืจืงืืืืืืช, ืืื ืืืืจืื ื ืืืืืขื ืืื ืืื ืฉื ืจืืืงื ืฉืืืืจืกื 18.3 ืฉื ืืกืคืจืื defaultProps ืฉื ืคืื ืงืฆืืืช ืืคืกืืง ืืขืืื. ืืืื ืชื ืฉืืืื ืชืืืืื ื Destructuring ืืืื ืืงืื ืืืฉ ืื ืื ืื ืื ื ืืจื, ืืืืื ืจืื ืืงืื ืืืืฉ ืฉื ืืชืงื ืื ืืฉืชืืฉ ื:
function User({name="Guest"}) {
...
}
ืืื ื-
function User(props) {
}
User.defaultProps = {
name: 'Guest',
};
ืืืชืื ืืืฉืื ืืืืชืื ื Class Components, ืืืชืืืกืฃ ืืจืฉืืืช ืืืืจืื ืฉ"ืฆืจืื ืืืืื" ืืื ืืืฉืชืืฉ ื Class Components ืืื ืขืืืืื ื Function Components.
ืืื ืฉืืื defaultProps. ืื ื ืืชืืขืืข.1 421
# ืื ืืืืื
ืืืื ืืื ืืฉื ืืื ืืืื ืืืืืช ืืจืื ืืืชืจ ืืชืืื ืืืืื ืืืืืจื ืืื. ืืื ืืื ืืืื ืืืืืช ืกืงืจื ืืืชืจ, ืจืืืข ืืืชืจ, ืืืืฉื ืืืชืจ. ืืืงืื ืื ืงืืืื ื ืืื ืฉืคืืื ืืื ืืืืืืช ืืจืืฆื "ืืกืืืจ ืขื ืืื" ืืื ืฉืืืชืจ ืืืจ, ืฉืืืืข ืืืฆืื ืืื ืกืืฃ ืืจืืื ืืื ืจืขืืื ืืกืืื ืื ืืขืืื ืืืื ืืจืืข - ืฉืืชื ื ืืช ืืกืงืจื ืืช ืืฆืจืื ืืืืฉืจืืืช ืืืืืืืื ืืืชื ืืื ืฉืกืืืื.
ืืื ืฉืืขืืืฃ ืืงืจืื ืชืฉืืื ืืืืจื ืฉื ChatGPT ืืืฉืจ ืืช ืื ื Man Page.
ืืฉืืื ืืฉืื ืข ืืื ืืื ืืืืื ืื ืืคืฉืจ ืคืฉืื ืืืจืืง ืขืืื ืืช ืืืืืจ ืืืงืืืช ืฉืืื ืืงืฉืื. ืฆืจืื ืืืืืช ืขืืื ืื, ืฆืจืื ืืฉืื ืข ืืืขืืงืจ ืฆืจืื ืืืืืืจ ืื ืฉืืืืจืื ืืืื ืฉืื ืื ื ืจืืฆืื ืืืืื ืฉืืืื ืืช ืืืฉืงืขื.
ืืืช ืืืขืืช ืืืจืืืืช ืฉื ืืืืจืืืืช ืืืืืืื ืชืืืจ ืจืืฉืื - ืืืื ืืืืจ ืืื ืืืืืจ ืืืื ืืื ืืืจื ืืจืื ืืกืืืื ืืื ืืืื ืืช ืืกืงืจื ืืช ืืืืคืฉ ืืื ืืขืืืจ ืืช ืืืืื. ืืืืืืืื ืืื ืืื ืืืฉืชืืืื ืืขืืืื ืืฉ ืื ื ืืืจื ืืืจืช, ืขืืื ื ืืืจืื ืืืื ืืืืื ืืืจืื ืืืฉืื ืคืฉืื ืื ืื "ืืืืืื" ืืืืืช ืจืืืื ืืื, ืืื ืฉืืฉ ืืืื ืืงืฆื.
ืืืฉืืืืืจ ืืื ื ืืืืื ืฆืจืื ืืฉื ืืช ืงืฆืช ืืช ืืืงืืืงื: ืืืื ืืืืืฉืฃ ืืืืืจ ืืืืืื ืืื ืืช ืงืื ืืช ืืืืืจื ืืื. ืขืฉืจ ืืงืืช ืืืื ืื ืืชืืื ืืขืืื. ืืืืฉื ืืคืฉืจ ืืขืืืช ืืืฆื ืฉืขื ืืืื, ืืื ืื ืฆืจืื ืืืชืจ. ืืคืฉืจ ืื ืืืฆืืจ ืืขืฆืืื ืืชืืจืื ืงืื ืื, ืืื ืืกืืจ ืืืจืืง ืืืชื ืืคื ืืกืืฃ. ืืื ืืื ืืฉืื ืืื ืืืจืืื ืืช ืืืื ืืฉืืื ืฉืืืืช ืืืงืื ืืืคืฉ ืชืฉืืืืช, ืืืฉ ืืืืจืื ืืช ืขืฆืืื ืืืชืื ืฉืืืืช ืชืื ืืื ืงืจืืื.
"ืืื ืขืื ืชืจืฆื ืืืขืช ืขื ืื ืืฉื?" ืืื ืคืจืืืืืืืื ืฉืืคืฉืจ ืืืื ืืช ืืื ื ืจืง ืืฉืืื ืืืื ืืกืืฃ.
1 421
# ืืื ืืช ืืขืฆืื ืืช ืืืืื
ืืืืจื ืฉื "ืืื ืืช ืืขืฆืื ืืช ืืืืื" ืืื ืื ืืงืื ืืืื ืืืืื ืืืชืจ. ืืจืืจ ืฉืชืืื ืช ื ืืืื ืคืชืงืื ืฉืืชืืชื ืืื ืชืืจืื ืคืืืช ืืคื ืื'ืืคืืื, ืชืืื ืช ื ืืืื ืืฉืืืืช ืชืืื ืคืืืช ืคืืฆ'ืจืื ื Todoist ืืืืืชื ืืืื ื ืืืจ ืืืืฉืชืืฉ ืืืื ืฉืืชืืชื ืืื ืืฉืืื ืื ืื ืืืืจ ืงืื ืืืงืื.
ืืืื ืืืช ืืฉ ืื ืืขื ืืชืจืื ืืช ืืื ืืืช ืืืืื ืืขืฆืืื:
1. ืืืืื ืืืืืืื ืื ืืืช ืืื ืคืืชืื ืืืื ืืื ืคืจืืืงื ืคืืชืื, ืจืง ืฉืืคืขื ืืืงืฃ ืืคืจืืืงื ืืื ืงืื ืืืืฉืชืืฉืื (ืฉืื ืืชื) ืืืืืื ืืืืื ืืื ืืืคืชืืื (ืฉืื ืืชื) ืขื ืื ืืื.
2. ืืืืื ืืืขืฉื ืืื ืฉืืชืืชื ืืขืฆืืื ืืขืืื ืื ืืขืื ืขื ืื ืืืืืข ืฉืืื, ืื ืกืชื ืื ืขื ืืื ืืช ืืืฉืืื.
3. ืืืืื ืงืืจืืช ืืืืื ืงื ืืืืกืืฃ ืืืืื ืืืื ืืฃ ืคืจืืคืื ื Github Pages ืืืขืืืช ืืช ืงืืจืืช ืืืืื ืขื ืคืจืืืงืืื ืืืืชืืื, ืฉืืคืืื ืืฉ ืืื ืืฉืชืืฉืื ืืืืชืืื (ืืื ืืคืืืช ืืฉืชืืฉ ืืื).
4. ืืืืืื ืืืืืืชื, ืคืืชืื ืืื ืขืืืื ืืื ืืืจืื ืืชืื ืืืฉืงืืข ืืืชืจ ืืื ืืืชืืืช ืงืื, ืื ืฉืืฉืคืจ ืืช ืื ืืกืืื ืืืงืฆืืขื ืฉืืื ืืืืคืฉืจ ืืืืฉืคืืช ืืืชื ืกืืช ืืืื ืืืืืืืช ืืืฉืืช.
ืื ืืช ืื ืืืืื, ืืื ืื ืืืื, ืืื ืืฉืืคืฉืจ - ืืืชืื ืืื ืืื ืขืืืื ืชืืื ืฉืืื ืืช ืืืฉืงืขื.
1 421
# ืืืืื, Best Practices ืืืื ืืืืืฆืื
ืืืืื ืืืจืืื ืืืขืืืช ืืืืชืืืช ืืงืื. ืืื ืืขืืืืช ืืชืืื ื ืฉืืฉืชืืฉืื ืืืืชืืื ืืืืื ืืจืืืช ืืืชื ืืืฆืืื ืืกืืืืื.
ืืื ืืขืจืืช ืืขื ืืื ืช ืืฉ ืืื ืกืืฃ ืืืืืืช ืืจืืขืืช ืฉืื ืื ื ืขืืฉืื. ืืฃ ืืฉืชืืฉ ืื ืืฉืื ืื ืืืืืืืช ืืื, ืืื ืืืืจื ืืื ืื ืคืืืขืืช ืืืืืืช ืฉื ืืืขืจืืช. ืงืื ืืืื ืืื ืฉืืืคื ืืืืจืืข ืฉืงืืจื ืคืขื ืืืื ืื ืืฉืคืืข ืขื ืืฃ ืืื, ืืื ืืฉืืืืจืืข ืืชืืื ืืงืจืืช ืืืชืจ ืคืขืืื ืืื ืืื ืืืืืื ืืืจืืขื ืฉืขืฉืื ื ืืชืืืื ืืืืืช ืืืจืืฉืช.
ืืืื ืืืืืฆืื ืื ืืืืืืช ืฉืื ื ืืืืืช ืืืืืืช ืืจืืขืืช ืขืื ืืคื ื ืฉืื ืืืจืืฉืืช, ืืฉืื ืื ืืืื ืืื ืืืืืช ืืืืื ืืืฉืืืจ ืื ื ืืช ืืืขืจืืช, ืืืชืงื ืืืชื ืืคื ื ืืคืืฆืืฅ.
ืืื ื-3 ืืื ืืฉืชืื ืืฉืคืจ ืืช ืืืื ืืืืืฆืื. ืืืืืืช ืฉืื ื ืืืืืื ืืื ืขืืงืจ ืืืคื ืืื ืืืคืชื ืืขืืืื ืืขืืื.
ยกYa disponible! Investigaciรณn de Telegram 2025 โ los principales insights del aรฑo 
