Skip to content

Instantly share code, notes, and snippets.

@shiryel
Created August 17, 2025 04:15
Show Gist options
  • Select an option

  • Save shiryel/840211a13982b91dc821112ed6fed1dc to your computer and use it in GitHub Desktop.

Select an option

Save shiryel/840211a13982b91dc821112ed6fed1dc to your computer and use it in GitHub Desktop.
ESO addon updater
#!elixir
Mix.install([{:req, "~> 0.5.0"}])
File.rm_rf("./addons")
File.mkdir!("./addons")
[
{3418, "SyncedAccountSettingsMasteroshi430sbranch"},
{919, "AUI-AdvancedUI"},
{2143, "BeamMeUp-TeleporterFastTravel"},
{2938, "CharacterKnowledgeScribingMotifRecipeandFurnishingPlanTracker"},
{1899, "DailyAlchemy"},
{1346, "DolgubonsLazyWritCrafter"},
{1552, "DungeonTracker"},
{489, "HarvensImprovedSkillsWindow"},
{1785, "JournalQuestLog"},
{381, "PersonalAssistantBankingJunkLootRepair"},
{1022, "QuestMap"},
{3115, "QuickFashion"},
{128, "SkyShards"},
{1245, "TamrielTradeCentre"},
{3509, "TamrielTradeCentreCompanion"},
{2612, "TheQuestingGuide"},
{57, "HarvestMap"},
{3079, "ShowTTCPrice"},
# optional dependencies
{1232, "CraftedPotions"},
{695, "AwesomeGuildStore"},
{3034, "HarvestMap-Data"},
{2435, "HarvestPins"},
{3356, "HarvestRouteforHarvestMap"},
# dependencies
{7, "LibAddonMenu-2.0"},
{56, "LibMediaProvider"},
{1146, "LibCustomMenu"},
{2118, "LibMainMenu-2.0"},
{2275, "LibDebugLogger"},
{3805, "LibChatMenuButton"},
{2277, "LibDateTime"},
{1302, "LibMapPing"},
{601, "LibGPS2"},
{2274, "LibPromises"},
{1311, "LibTextFilter"},
{2276, "LibGetText"},
{2382, "LibChatMessage"},
{2817, "LibHistoire-GuildHistory"},
{2125, "LibAsyn"},
{3585, "LibId64"},
{1594, "LibLazyCrafting"},
{2484, "LibUespQuestData"},
{2241, "LibSetsAllsetitemsingamepreview.luaAPIexcelsheet"},
{3546, "LibScrollableMenu"},
{2171, "LibZone"},
{2625, "LibQuestData"},
{3353, "LibMapData"},
{563, "LibMapPins"},
{3317, "LibCharacterKnowledge"},
{2542, "LibMarify"},
{185, "CustomCompassPins"},
{1508, "LibSlashCommander"}
]
|> Enum.each(fn {id, addon_name} ->
%{status: 200, body: files} =
Req.get!("https://cdn.esoui.com/downloads/file#{id}/#{addon_name}")
Enum.each(files, fn
{_, ""} ->
:ignore
{file_name, content} ->
File.mkdir_p("./addons/#{Path.dirname(file_name)}")
File.write!("./addons/#{file_name}", content)
end)
end)
%{status: 200, body: files} =
Req.get!("https://us.tamrieltradecentre.com/download/PriceTable")
Enum.each(files, fn
{_, ""} ->
:ignore
{file_name, content} ->
File.write!("./addons/TamrielTradeCentre/#{file_name}", content)
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment