NOTICE: By continued use of this site you understand and agree to the binding Zmluvné podmienky and Zásady ochrany osobných údajov.
Install steps: Install a userscript manager, select Install, then open a website matched by the script.
The following figures come from the original source and are separate from activity on this site.
Original script: Gartic Phone DrawBot
Source version: 2.0
Last source check:
Last successful check:
Requests received by this site are not proof that a user completed installation.
Clicking Install records a request on this site; it does not confirm installation. Not working after install? View troubleshooting and issues
Automated drawing bot for Gartic Phone — converts any image into in-game art via WebSocket packet injection.

Language / Язык: English | Русский
Fast Fill, Fast Fill (old) (the pre-2.0 behaviour, kept as a fallback) and Standard Lines
localStorage and restored on the next visitTo allow UserScripts to run in modern browsers:
chrome://extensions in Chrome, edge://extensions in Edge).You can install the script automatically with a single click:
(Alternatively, you can create a new script in the Tampermonkey dashboard, copy the contents of GarticPhoneDrawBot.user.js, paste them into the editor, and press Ctrl+S).
Tampermonkey checks installed scripts for updates on its own (about once a day by default). To update right away, open the install link again and click Update, or use Check for userscript updates in the Tampermonkey menu. Your saved settings stay as they were.
Socket ready, and the Round field shows the current roundRects: 41250 | Packets: 33 — Speed: 8 pkt/s (135ms) | ~5s
✅ Drawing completed, or use ⏸ Pause / ⏹ Cancel at any timeThe image can be loaded before the drawing round, for example while the others are still writing. The plan is made for the canvas size seen last time and is redone automatically when the game canvas appears.
| Setting | What it does | Default | Recommended |
|---|---|---|---|
| Scale | Size of one image pixel. 1x is the most detailed, 15x the coarsest. In Fast Fill the drawing time depends on the number of colors, not on the scale |
2x | 1x–3x |
| Colors |
Game palette (18) uses only the game's colors. True Color (N) picks the best N colors for the image. No limit keeps every color (photos can have thousands, so it is slow) |
True Color (32) | True Color (32–64) |
| Mode |
Fast Fill, Fast Fill (old) or Standard Lines, see Drawing Modes
|
Fast Fill | Fast Fill |
| Rects per packet | Max rectangles in one packet (fill modes only, up to 24000; both 12000 and 24000 were accepted in a live game). Bigger colors are split into several packets | 12000 | 12000 |
| Layout |
Stretch fills the whole canvas, Center keeps the proportions, Custom Scale lets you drag and resize a box on the preview (or use the sliders), then click Apply & Render Preview
|
Stretch | — |
| Round | Current round, counted from 1 as in the game. Detected automatically; typing a number switches Auto off | Auto | Auto |
| Packet delay (ms) | Pause after each packet in Standard Lines mode | 127 | 127 |
| ⚡ Packets/s | Sending speed in the fill modes, at most 8: faster sending gets packets dropped by the server. A 10 ms margin is added (8/s → 135 ms between packets) | 8 | 8 |
| Denoise filter | Repaints lone pixels that have fewer than 1/2/3 neighbours of the same color with the most common neighbouring color. White is never changed | Off | Off or Weak |
| Fill background | Fills the whole canvas with the most common color first, then skips that color | Off | On for images with a solid background |
| Smart Bridges | For colors that invisible bridges could not join completely, connects the islands through areas painted over later and searches for the best color order (fill modes only) | On | On |
| Mode | How it draws | Packets | When to use |
|---|---|---|---|
| Fast Fill | Fill rectangles (Tool 8). All spots of a color are linked into one tree with invisible zero-size bridges | about 1 per color | Always, by default |
| Fast Fill (old) | The same rectangles without invisible bridges, as before 2.0. Only Smart Bridges join spots | one per separate spot, 25–100× more | If parts of the drawing go missing in the album |
| Standard Lines | Pen strokes and rectangles (Tools 1 and 6), one or two packets per shape | thousands | If fill packets stop working in the game |
In Fast Fill one packet goes out every 135 ms, so the time is roughly number of colors × 0.135 s (plus about 1 s for the background), whatever the scale:
| Colors | Approximate time |
|---|---|
| Game palette (18) | ~3 s |
| 32 | ~5 s |
| 64 | ~9 s |
| 256 | ~35 s |
Very large colors (over 12000 rectangles, usually at 1x) take an extra packet each. The preview always shows the exact packet count and time for the current image.
| Problem | What to do |
|---|---|
WebSocket not found! |
Make one brush stroke on the canvas by hand. If it doesn't help, refresh the page and try again |
Enter the Gartic Phone drawing mode first! |
Start only when the drawing canvas is on screen |
| The drawing is missing in the album | The round may be wrong: uncheck Auto next to Round and enter the round number shown by the game |
| Parts of the drawing are missing | Switch to Fast Fill (old). If that doesn't help, lower Rects per packet (try 1000) or Packets/s (try 6–7) |
Could not load image for a link |
Many sites don't allow other pages to read their images. Download the image and load it with 📁, or copy it and press Ctrl+V |
⚠ … packets failed to send |
The connection was unstable; draw again on a new round or lower Packets/s |
| Start waits a moment before sending | The plan is being made (up to ~2 s at 1x with many colors). Normally it is ready from the preview |
DrawBot is a Tampermonkey UserScript that runs entirely in the browser, inside the Gartic Phone page. It:
The script patches WebSocket and WebSocket.prototype.send at document-start, before the game loads:
42[...) links the socket to the bot42[2,7,) is taken from outgoing messages, so the bot keeps working if it changesturnNum / t), which every drawing packet must contain. It is 0-based in packets and shown from 1 in the panelstrokeId. Bot strokes use a random range above 100000 that never goes backwards within a round and restarts when the round changes, so they never collide with the game's own strokes768/scale × 448/scale cells, according to the Layout. At 1x such cells would be 1.9–2 px on the game canvas (about 1516×848), and rounding would make some rows and columns 1 px wide, where invisible bridges cannot attach. So at 1x in Fast Fill the grid is half the canvas size instead, with cells of exactly 2×2 px (1–5% fewer cells, not visible)A Tool 8 packet holds one color and a list of rectangles. The game only accepts a packet that forms a single tree: every rectangle must touch its parent with an end, strictly inside the touched side, without overlapping anything. A contact exactly at a corner, an overlap, or a part that touches nothing gets the whole packet rejected. This is what the planner builds:
findMaximalRectangleOpt) — each color's area is covered with large rectangles; for each one, "right then down" and "down then right" are tried and the bigger is keptbuildRectangleTreeDFS) — touching rectangles are linked parent to child in DFS order. Each separate spot of the color becomes its own treelinkIslandsWithInvisibleBridges) — the trees are linked into one with rectangles of zero width or height, which paint nothing:
Bridges run strictly inside grid lines and never cross each other. The search is limited to the color's bounding box and uses sorted lists with binary search, so it stays fast even at 1x
splitIntoChunks) — a tree bigger than Rects per packet is cut along whole subtrees, so every packet is a connected tree that starts with a real rectangle. A frame is also capped at 700,000 charactersFast Fill (old) skips steps 4 and the 2×2 grid: every spot that Smart Bridges can't join goes out as a separate packet.
findMaxRectangles) — rectangles of at least 2×2 cells become Tool 6 packetsfindPaths) — the remaining thin lines are traced, preferring to keep the direction, and simplified (simplifyPath). Each path is a Tool 1 start packet plus one move packetscale × 4 − 2 pixels; Packet delay is waited after every packetEvery drawing packet looks like this:
42[2,7,{"t":round,"d":action,"v":[tool, strokeId, ...]}]
[1, id, [color, width, 10], x, y], then a move packet ("d":3) with the point deltas[6, id, [color, width, 10], x1, y1, x2, y2]
[8, id, [color, 10], x, y, w, h, parent, x, y, w, h, parent, ...], where parent is the position of the parent rectangle in the list × 5. Packets of up to 24000 rectangles (~440 KB) were acceptedFast Fill, Fast Fill (old) (поведение до 2.0, оставлено как запасной вариант) и Standard Lines
localStorage и восстанавливается при следующем заходеДля того чтобы пользовательские скрипты могли запускаться в современных браузерах:
chrome://extensions в Chrome или edge://extensions в Edge).Скрипт можно установить автоматически в один клик:
(Альтернативно: вы можете создать новый скрипт в панели управления Tampermonkey, скопировать всё содержимое файла GarticPhoneDrawBot.user.js, вставить его в редактор и нажать Ctrl+S).
Tampermonkey сам проверяет обновления установленных скриптов (по умолчанию примерно раз в день). Чтобы обновиться сразу, откройте ссылку установки ещё раз и нажмите Обновить или запустите проверку обновлений из меню Tampermonkey. Сохранённые настройки остаются как были.
Интерфейс панели на английском, поэтому ниже названия кнопок и настроек приводятся так, как они написаны на панели.
Socket ready, а в поле Round появится текущий раундRects: 41250 | Packets: 33 — Speed: 8 pkt/s (135ms) | ~5s
✅ Drawing completed или используйте ⏸ Pause / ⏹ Cancel в любой моментКартинку можно загрузить заранее, например пока остальные ещё пишут фразы. План строится под размер холста, который был в прошлый раз, и автоматически пересчитывается, когда появляется холст игры.
| Настройка | Что делает | По умолчанию | Рекомендуется |
|---|---|---|---|
| Scale (масштаб) | Размер одного пикселя картинки. 1x — самый детальный, 15x — самый крупный. В Fast Fill время рисования зависит от числа цветов, а не от масштаба |
2x | 1x–3x |
| Colors (цвета) |
Game palette (18) — только цвета игры. True Color (N) подбирает N лучших цветов для картинки. No limit оставляет все цвета (у фотографий их тысячи, поэтому это медленно) |
True Color (32) | True Color (32–64) |
| Mode (режим) |
Fast Fill, Fast Fill (old) или Standard Lines, см. Режимы рисования
|
Fast Fill | Fast Fill |
| Rects per packet | Максимум прямоугольников в одном пакете (только режимы заливки, до 24000; и 12000, и 24000 игра приняла в живом тесте). Большие цвета делятся на несколько пакетов | 12000 | 12000 |
| Layout (расположение) |
Stretch растягивает на весь холст, Center сохраняет пропорции, Custom Scale позволяет двигать и менять рамку на превью (или ползунками), после чего нужно нажать Apply & Render Preview
|
Stretch | — |
| Round (раунд) | Текущий раунд, считается с 1, как в игре. Определяется автоматически; если ввести число, Auto выключится | Auto | Auto |
| Packet delay (ms) | Пауза после каждого пакета в режиме Standard Lines | 127 | 127 |
| ⚡ Packets/s | Скорость отправки в режимах заливки, не больше 8: при более быстрой отправке сервер теряет пакеты. Добавляется запас 10 мс (8/с → 135 мс между пакетами) | 8 | 8 |
| Denoise filter (шумоподавление) | Перекрашивает одиночные пиксели, у которых меньше 1/2/3 соседей того же цвета, в самый частый соседний цвет. Белый не меняется | Off | Off или Weak |
| Fill background (заливка фона) | Сначала заливает весь холст самым частым цветом, после чего этот цвет пропускается | Выкл | Вкл для картинок со сплошным фоном |
| Smart Bridges (умные мосты) | Для цветов, которые невидимые мосты не смогли связать целиком, соединяет островки через области, которые позже закрасятся, и подбирает лучший порядок цветов (только режимы заливки) | Вкл | Вкл |
| Режим | Как рисует | Пакетов | Когда использовать |
|---|---|---|---|
| Fast Fill | Заливка прямоугольниками (Tool 8). Все пятна цвета связываются в одно дерево невидимыми мостами нулевой толщины | примерно 1 на цвет | Всегда, по умолчанию |
| Fast Fill (old) | Те же прямоугольники без невидимых мостов, как до 2.0. Пятна соединяют только Умные мосты | по одному на каждое отдельное пятно, в 25–100 раз больше | Если в альбоме пропадают части рисунка |
| Standard Lines | Мазки и прямоугольники (Tools 1 и 6), один-два пакета на фигуру | тысячи | Если пакеты заливки перестанут работать в игре |
В Fast Fill пакет уходит раз в 135 мс, поэтому время примерно равно числу цветов × 0,135 с (плюс около 1 с на фон) при любом масштабе:
| Цветов | Примерное время |
|---|---|
| Палитра игры (18) | ~3 с |
| 32 | ~5 с |
| 64 | ~9 с |
| 256 | ~35 с |
Очень большие цвета (больше 12000 прямоугольников, обычно на 1x) занимают по дополнительному пакету. Точное число пакетов и время для текущей картинки всегда показывает превью.
| Проблема | Что делать |
|---|---|
WebSocket not found! |
Сделайте один мазок на холсте вручную. Если не помогло, обновите страницу и попробуйте снова |
Enter the Gartic Phone drawing mode first! |
Запускайте, только когда на экране холст для рисования |
| Рисунка нет в альбоме | Возможно, раунд определился неверно: снимите галочку Auto рядом с Round и введите номер раунда, который показывает игра |
| Пропадают части рисунка | Переключитесь на Fast Fill (old). Если не помогло, уменьшите Rects per packet (например, до 1000) или Packets/s (до 6–7) |
Could not load image для ссылки |
Многие сайты не дают другим страницам читать свои картинки. Скачайте картинку и загрузите через 📁 или скопируйте её и нажмите Ctrl+V |
⚠ … packets failed to send |
Соединение было нестабильным; нарисуйте заново в следующем раунде или уменьшите Packets/s |
| После Start бот немного ждёт перед отправкой | Строится план (до ~2 с на 1x с большим числом цветов). Обычно он уже готов после превью |
DrawBot — это UserScript для Tampermonkey, который работает целиком в браузере, внутри страницы Gartic Phone. Он:
Скрипт подменяет WebSocket и WebSocket.prototype.send на этапе document-start, до загрузки игры:
42[...) связывает сокет с ботом42[2,7,) берётся из исходящих сообщений, поэтому бот продолжит работать, если он изменитсяturnNum / t), который обязан быть в каждом пакете рисования. В пакетах он считается с 0, а на панели показывается с 1strokeId. Бот берёт номера из случайного диапазона выше 100000, который не уменьшается в пределах раунда и начинается заново при смене раунда, поэтому они не пересекаются со штрихами самой игры768/масштаб × 448/масштаб клеток с учётом Layout. На 1x такие клетки на холсте игры (около 1516×848) были бы 1,9–2 px, и из-за округления часть строк и столбцов получалась бы шириной 1 px, где невидимые мосты не могут зацепиться. Поэтому на 1x в Fast Fill сетка берётся в половину холста, с клетками ровно 2×2 px (клеток на 1–5% меньше, на глаз незаметно)Пакет Tool 8 содержит один цвет и список прямоугольников. Игра принимает пакет, только если он образует одно дерево: каждый прямоугольник должен касаться родителя концом строго внутри стороны и ничего не перекрывать. Касание точно в углу, перекрытие или часть, которая ничего не касается, — и весь пакет отбрасывается. Вот что строит планировщик:
findMaximalRectangleOpt) — область каждого цвета покрывается крупными прямоугольниками; для каждого пробуются «вправо, потом вниз» и «вниз, потом вправо», и берётся большийbuildRectangleTreeDFS) — соприкасающиеся прямоугольники связываются «родитель — потомок» в порядке DFS. Каждое отдельное пятно цвета становится своим деревомlinkIslandsWithInvisibleBridges) — деревья связываются в одно прямоугольниками нулевой ширины или высоты, которые ничего не закрашивают:
Мосты идут строго внутри линий сетки и не пересекаются. Поиск ограничен рамкой цвета и использует отсортированные списки с двоичным поиском, поэтому остаётся быстрым даже на 1x
splitIntoChunks) — дерево больше Rects per packet режется целыми поддеревьями, так что каждый пакет остаётся связным деревом и начинается с настоящего прямоугольника. Кадр также ограничен 700 000 символовFast Fill (old) пропускает шаг 4 и сетку 2×2: каждое пятно, которое не смогли соединить Умные мосты, уходит отдельным пакетом.
findMaxRectangles) — прямоугольники от 2×2 клеток становятся пакетами Tool 6findPaths) — оставшиеся тонкие линии трассируются с предпочтением прежнего направления и упрощаются (simplifyPath). Каждый путь — это стартовый пакет Tool 1 и один пакет движениямасштаб × 4 − 2 пикселей; после каждого пакета выдерживается Packet delay
Каждый пакет рисования выглядит так:
42[2,7,{"t":раунд,"d":действие,"v":[инструмент, strokeId, ...]}]
[1, id, [цвет, толщина, 10], x, y], затем пакет движения ("d":3) со смещениями точек[6, id, [цвет, толщина, 10], x1, y1, x2, y2]
[8, id, [цвет, 10], x, y, w, h, parent, x, y, w, h, parent, ...], где parent — позиция родительского прямоугольника в списке × 5. Игра принимала пакеты до 24000 прямоугольников (~440 КБ)Hodnotenie: 0