public SearchView(IReadOnlyCollection <SearchItem> items, TarkovDatabaseClient client) : base(new LocalMessage() .WithContent("Multiple results found! Please pick one item from the list:")) { var selectionComponent = new SelectionViewComponent(async args => { this.Menu.Stop(); this.ClearComponents(); var response = args.Interaction.SelectedValues.FirstOrDefault().Split("/"); var itemId = response[0]; var kind = Enum.Parse <ItemKind>(response[1]); var item = await client.GetItemAsync(itemId, kind); this.TemplateMessage = new LocalMessage().WithEmbeds(item.ToEmbed()); await(this.Menu as InteractiveMenu).ApplyChangesAsync(); }); foreach (var item in items) { selectionComponent.Row = 0; selectionComponent.Options.Add( new LocalSelectionComponentOption($"{item.ShortName} ({item.Kind.Humanize()})".Truncate(25), $"{item.Id}/{item.Kind}") .WithDescription(item.Description.Truncate(50))); } this.AddComponent(selectionComponent); }
public LocationModule(TarkovDatabaseClient tarkov) { _tarkov = tarkov; }
public HideoutModule(TarkovDatabaseClient tarkov, TarkovSearchClient tarkovSearch) { _tarkov = tarkov; _tarkovSearch = tarkovSearch; }
public ItemModule(TarkovDatabaseClient tarkov, TarkovSearchClient tarkovSearch) { _tarkov = tarkov; _tarkovSearch = tarkovSearch; }
public UtilityModule(TarkovDatabaseClient tarkov, TarkovSearchClient tarkovSearch, TarkovToolsClient tarkovTools) { _tarkov = tarkov; _tarkovSearch = tarkovSearch; _tarkovTools = tarkovTools; }